elasticsearch 增删改查基本操作

最近在学习elasticsearch.就想着记录下es的基本操作。

es的基本概念:

1、索引index:相当于mysql的database

2、类型type:相当于mysql的表

3、文档:相当于mysql的行

新增索引:

a、可以借助于es的head插件:

这里的索引名称是自定义的。

b、使用接口创建索引:

我这里是使用postman进行接口请求的。创建一个people索引,并且映射一个man类型。man类型里面有name,country,age,date四个属性。

新增文档:在man类型中新增一条数据,我这里采用自定义id,所以url地址后面有个1,使用put请求

也可以采用es自动生成ID,就不需要后面的id了,并且需要使用post请求:

修改文档:

a、基于文档进行修改:

我想修改ID为1 的数据的name。注意接口地址后面有个_update

b、基于脚本的修改:

脚本修改,可以使用es自带的语言painless ,也可以使用python等脚本语言。

或者使用params,注意圈红部分与上图的区别

 

删除记录:删除要使用delete请求

比如我要删除people文档的man类型下ID为1的数据:

 

删除索引:

 

查询数据:

a、基本查询:

查询book索引下,novel类型中id为1的数据:

b、条件查询:

match_all表示查询所有,from ,size类似于mysql中的分页查询。

关键字查询:match:{...}

 

聚合查询:根据word_count聚合

下面是聚合后查询输的信息

 

也可以使用聚合查询进行计算:

stats表示统计,会查询出最大,最小,平均,个数,求和等值,stats也可以换成max,min,avg,sum 等,

 

说完基础查询,我们再来说下高级查询:

高级查询分为:子条件查询跟复合条件查询。

子条件查询:特定条件查询所指的特定值。

       query context:

             全文本查询:

             

              习语匹配查询
          

          多字段匹配查询:匹配author跟title字段中包含ES的内容

         

        语法查询:

                        

          字段级别的查询

     filter Context:查询过程中只判断文档是佛满足条件,只返回yes/no ,不会考虑匹配程度。

复合条件查询:以一定的逻辑组合子条件进行查询。

另外这篇文章写得不错,可以参考:https://blog.csdn.net/laoyang360/article/details/51931981

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值