目录
- 查询 query
- 结果过滤 _source
- 排序 sort
- 分页 from size
- 布尔值查询 bool
- 过滤 filter
- 匹配多个条件 多个条件用空格隔开
- 精确查询 term
- term和match的区别
- text和keyword的区别
- 多个值精确查询
- 高亮查询 highlight
查询 query
匹配 match
匹配文档 hits
匹配文档总数 total:value
匹配关系 total:relation
最大匹配分值(匹配度) max_score
匹配分值(匹配度) _score
结果过滤 _source
排序 sort
分页 from size
:::info
from 从第几个文档开始,从0开始
size 每页数量
:::
布尔值查询 bool
逻辑与 must 理解为and
逻辑或 should 理解为or
逻辑非 must_not 理解为not
过滤 filter
:::info
gt >
gte >=
lt <
lte <=
:::
匹配多个条件 多个条件用空格隔开
:::info
匹配多个条件用空格隔开,只要满足一个条件就可以查出,匹配度越高,匹配分值越大
:::
精确查询 term
:::info
term 查询是直接通过倒排索引指定的词条进行精确查找的
:::
term和match的区别
:::info
term,直接查询精确的
match,会使用分词器解析(先分析文档,然后在通过分析的文档进行查询)
:::
text和keyword的区别
:::info
text类型,会被分词器解析
keyword类型,不会被分词器解析
:::
创建索引并设置字段类型
创建文档
keyword方式分词
standard方式分词
text类型被查询
keyword类型被查询
:::info
keyword类型字段不会被分词器解析,desc为“狂神说Java desc2”的文档没有被查询到
:::
多个值精确查询
高亮查询 highlight
:::info
搜索相关的结果可以高亮显示,默认是em标签修饰,也可以自定义标签修饰
:::