第一级关键词
- query:查询条件
- from:分页偏移量
- size:分页数量
- sort:排序
- _source:选择需要的字段
- aggs:表示聚合
- highlight:结果高亮
- settings:用于初始化索引,设置索引结构
第二级关键词
query使用
- match:表示匹配条件,会自动进行分词
- match_phrase:不分词
- multi_match:可以对多个字段同时搜索
- range:范围条件
- bool:组合搜索
- term:精确值查找(如果是字符串text,则不能使用,只能用于keyword)
- terms:功能和term一样,可以进行多个词语匹配
highlight使用
- fields
settings使用
- number_of_shards:分片数量
- number_of_replicas:副本数量
- refresh_interval:控制索引的刷新频率,即数据写入后多久可见于搜索。
- analysis:包含索引特定的分析器、tokenizer、filter等文本分析组件的配置。
第三级关键词
bool
- must:表示且,同时满足
- must_not:表示或,满足其中一个,返回false
- should:表示或,满足其中一个
- filter:过滤出符合条件的
analysis使用
- analyzer:定义新的分析器,包括其tokenizer、filter组合。
- filter:定义或修改词元过滤器的行为,如停用词过滤器、同义词过滤器、字符过滤器等。
- tokenizer:定义或修改分词器的行为
其他
- boost:默认值为 1 ,大于 1 会提升一个语句的相对权重。权重高的,会在前面
- keyword 在存储数据的时候是作为一个整体存储的,不会对其进行分词处理
- text 存储数据的时候会对字符串进行分词处理,然后存储。
- 而对于查询方法, term 是精确查询,match 是模糊查询