这里写目录标题

  • 关于文档的基本操作(重点)
  • 基本操作
  • 1、添加数据
  • 2、获取数据 GET
  • 3、更新数据 PUT
  • 4、Post _update ,推荐使用这种方式来更新
  • 简单查询
  • 复杂操作搜索 select (排序,分页,高亮,模糊查询,精准查询!)
  • 输出字段过滤
  • 输出排序
  • 分页查询!
  • 布尔值查询
  • must(and),所有的条件都要符合 where id=1 and name=xxxx
  • should (or),只需要有一个条件符合 where id=1 or name=xxxx
  • must_not (not)
  • 过滤器 filter
  • 匹配多个条件
  • 精确查询!
  • ES 分词的 理解 总结
  • 多个值匹配精确
  • 高亮查询
  • 自定义高亮
  • 参考目录


关于文档的基本操作(重点)

基本操作

1、添加数据
PUT /kuangshen/user/1
{
  "name":"狂神说",
  "age":23,
  "desc":"一顿操作猛如虎,一看工资2500",
  "tags":["技术宅","温暖","直男"]
}

es 获取某一条数据的前几条数据 es获取所有的文档_高亮


es 获取某一条数据的前几条数据 es获取所有的文档_restful_02

2、获取数据 GET

es 获取某一条数据的前几条数据 es获取所有的文档_elasticsearch_03

3、更新数据 PUT

es 获取某一条数据的前几条数据 es获取所有的文档_es 获取某一条数据的前几条数据_04

4、Post _update ,推荐使用这种方式来更新

es 获取某一条数据的前几条数据 es获取所有的文档_高亮_05

简单查询

简单的条件查询,可以根据默认的映射规则,产生基本的查询!

es 获取某一条数据的前几条数据 es获取所有的文档_elasticsearch_06

复杂操作搜索 select (排序,分页,高亮,模糊查询,精准查询!)

es 获取某一条数据的前几条数据 es获取所有的文档_restful_07


es 获取某一条数据的前几条数据 es获取所有的文档_高亮_08

输出字段过滤

输出结果,不想要那么多!

es 获取某一条数据的前几条数据 es获取所有的文档_elasticsearch_09


我们之后使用 Java 操作 Es ,所有的方法和对象就是这里面的 key!

输出排序

排序!

es 获取某一条数据的前几条数据 es获取所有的文档_高亮_10

分页查询!

es 获取某一条数据的前几条数据 es获取所有的文档_搜索_11

数据下标还是从0开始的,和学的所有数据结构是一样的!

布尔值查询

must(and),所有的条件都要符合 where id=1 and name=xxxx

es 获取某一条数据的前几条数据 es获取所有的文档_搜索_12

should (or),只需要有一个条件符合 where id=1 or name=xxxx

es 获取某一条数据的前几条数据 es获取所有的文档_es 获取某一条数据的前几条数据_13

must_not (not)

es 获取某一条数据的前几条数据 es获取所有的文档_restful_14

过滤器 filter

es 获取某一条数据的前几条数据 es获取所有的文档_elasticsearch_15

gt  等于

gte  大于等于

lt  小于

lte 小于 等于
匹配多个条件

es 获取某一条数据的前几条数据 es获取所有的文档_es 获取某一条数据的前几条数据_16

精确查询!

term 查询是直接通过倒排索引指定的词条进行精确的查找!

关于 分词:
term,直接查询精确的

match,会使用分词器解析!(先分析文档,然后再通过分析的文档进行查询!)

两个类型 text keyword

es 获取某一条数据的前几条数据 es获取所有的文档_restful_17


文档中的信息的,分词情况

es 获取某一条数据的前几条数据 es获取所有的文档_高亮_18

ES 分词的 理解 总结

所以,就是,在搜索时,你的输入的所谓的关键字,会经过分词器,进一步分成更细化的关键字(term 情况,不会进行分词),来与 关键字 比较。(这里的比较,不管 match,还是 term,都不存在什么模糊查询,这是 关键字与关键字之间的配对)。

文档中的信息,同样会被 进行分词(keyword 、数字,不会被分词),来与搜索时的关键字进行匹配。

es 获取某一条数据的前几条数据 es获取所有的文档_es 获取某一条数据的前几条数据_19

多个值匹配精确

es 获取某一条数据的前几条数据 es获取所有的文档_elasticsearch_20

高亮查询

es 获取某一条数据的前几条数据 es获取所有的文档_搜索_21

自定义高亮

es 获取某一条数据的前几条数据 es获取所有的文档_restful_22