- 关于文档的基本操作(重点)
- 基本操作
- 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 分词的 理解 总结
- 多个值匹配精确
- 高亮查询
- 自定义高亮
- 参考目录
PUT /kuangshen/user/1
{
"name":"狂神说",
"age":23,
"desc":"一顿操作猛如虎,一看工资2500",
"tags":["技术宅","温暖","直男"]
}
简单的条件查询,可以根据默认的映射规则,产生基本的查询!
复杂操作搜索 select (排序,分页,高亮,模糊查询,精准查询!)
输出结果,不想要那么多!
我们之后使用 Java 操作 Es ,所有的方法和对象就是这里面的 key!
排序!
分页查询!数据下标还是从0开始的,和学的所有数据结构是一样的!
布尔值查询 must(and),所有的条件都要符合 where id=1 and name=xxxx should (or),只需要有一个条件符合 where id=1 or name=xxxx must_not (not) 过滤器 filtergt 等于 gte 大于等于 lt 小于 lte 小于 等于匹配多个条件 精确查询!
term 查询是直接通过倒排索引指定的词条进行精确的查找!
关于 分词:
term,直接查询精确的
match,会使用分词器解析!(先分析文档,然后再通过分析的文档进行查询!)
两个类型 text keyword
文档中的信息的,分词情况
所以,就是,在搜索时,你的输入的所谓的关键字,会经过分词器,进一步分成更细化的关键字(term 情况,不会进行分词),来与 关键字 比较。(这里的比较,不管 match,还是 term,都不存在什么模糊查询,这是 关键字与关键字之间的配对)。
文档中的信息,同样会被 进行分词(keyword 、数字,不会被分词),来与搜索时的关键字进行匹配。
多个值匹配精确 高亮查询 自定义高亮 参考目录狂神
https://www.bilibili.com/video/BV17a4y1x7zq?p=5



