elasticsearch version: 7.10.1
filter介绍
在Elasticsearch中,filter主要用于过滤文档,它与query的主要区别在于filter不计算相关性得分,而是返回简单的布尔匹配结果(匹配或不匹配),并且可以被缓存以提高性能。filter通常用于预筛选阶段,尤其是对于那些频繁使用的过滤条件。
filter语法
- Term Filter:
{
"query": {
"bool": {
"filter": {
"term": {
"field_name": "value"
}
}
}
}
}
- Range Filter
{
"query": {
"bool": {
"filter": {
"range": {
"age": {
"gte": 18,
"lte": 30
}
}
}
}
}
}
- Exists Filter
{
"query": {
"bool": {
"filter": {
"exists": {
"field": "category"
}
}
}
}
}
- List item
{
"