elasticSearch对索引的增删查和对文档的增删改查

1. 先把环境都运行起来es、kibana、elasticSearch-head(在elasticsearch-head-master下运行 npm run start 启动 )

2. 在kibana中写代码(用的都是json),执行若超时,在kibana\config\kibana.yml文件中去掉#,将3000改为9000  

3. 关于表的概念,此处称为type,正在逐渐弃用中,所以只讨论索引(就是数据库)以及文档(就是一条记录)

4. 本文的每组图中,以GET PUT POST等开头的是代码,其余是在kibana和elasticSearch-head中的执行结果

5.本文代码中的test2、test3、20200713都是索引名

6. 一些小命令:

集群健康值:   

库的所有信息:


一、创建一个索引:

1. 创建索引同时插入一个文档,会自动匹配字段类型

  • 在kibana中:PUT /索引名/~类型名~/文档id { 请求体 }  
  • 执行结果为 

                

2. 创建索引时,只规定字段类型,不插入文档

        

 

二、查询索引:

  

 

三、删除索引:

     


一、新增文档:

通过修改id的方式 

     

二、删除文档:

1. 按id删除:

  

 

三、修改文档(按照id):

1. 使用PUT覆盖:每一个属性都要写全,否则该属性变成空白,因为是删掉再重新写入,所以增加新的字段也可以

     

2. 用POST(推荐):修改哪个属性写哪个就行,其他不会改变,因为是在原文档上修改,不能新增字段

         

 

四、查询文档

1. 通过id查询某条文档:

  

2. 通过关键字查询:(下文五、1也是通过关键字查询的)

会查询出所有该字段包含关键字的文档,并且只要包含关键字中的 某个字都可以。查询出来的score代表匹配度,正相关。

 

    

五、复杂操作搜索:

当前数据如下: 

     

 

1. 普通的字段匹配查询:     

     同字段多个值相或,用空格隔开就好

        

2. 只查询出其中的几个字段:  

3. 将查询出的信息排序:     

 

4. 分页查询:from从第几条数据开始,size返回多少条数据   

5. 多条件匹配    (不同字段多条件

  • must命令:所有的条件都要符合&&

                  

  • should命令:只要满足其中一个条件就可以 | |
  • must_not命令:不满足条件1 && 不满足条件2的
  • filter命令:过滤范围(如:年龄大于等于11,小于等于20)gt大于,lt小于,gte大于等于,lte小于等于(只写一个是单区间)

                     

 

6. term针对keyword精确查询:(其实这部分match和term互换,也没有看出差别,term也可以替换match和should等合作,后面弄明白再来修改)

  • 先建立一个新的索引,并且规定字段类型,插入一个文档     
  • 可见,当某个字段为keyword类型时,不会被分词器解析,而是被当做一个整体,text类型会被解析

                 

  • 再插入一条新数据,查询发现如果是按照text类型字段进行term查询,是模糊匹配的,而按照keyword类型查询精确匹配

(不知道为什么text类型进行term查询时,只能输入一个汉字才能查到多条数据?不过,term可以针对keyword可以精确查询

  7. 高亮查询:

将 "小明"高亮:   

也可以修改高亮处的样式:

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值