【ElasticSearch(八)进阶】filter过滤
-
布尔查询中的每个must、should和must not元素都称为查询子句。
文档满足 must 或 should 子句中的标准的程度有助于文档的相关性得分。分数越高,文档就越符合我们的搜索条件。默认情况下,ElasticSearch返回会按照相关性得分对文档排序。
-
must_not 子句中的条件,影响文档是否包含在结果中。
filter、must_not 都不影响文档的得分。
-
还可以显式指定任意过滤器filter,以包含或排除基于结构化数据的文档。
【例子1】
查找年龄范围在 18 - 30 ,并且地址中包含 mill 的数据
range
:限制条件的范围
filter
:过滤掉不符合条件的数据,且filter不会影响相关性得分。
- GET /bank/_search
- {
- "query":{
- "bool":{
- "filter":{
- "range":{
- "age":{
- "gte":18,
- "lte": 30
- }
- }
- },
- "must":{
- "match&