【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&