过滤器在已过滤查询的内部还是外部是否重要?
Does it matter if the filter is inside or outside a filtered query?
虽然这两个给我的结果相同,但在内部或外部安装过滤器有什么区别?在表演或幕后动作方面有区别吗?
"query": {
"filtered": {
"query": { "match": { "email": "business opportunity" }},
"filter": { "term": { "folder": "inbox" }}
}
}
"query": {
"filtered": {
"query": { "match": { "email": "business opportunity" }}
}
},
"filter": {
"term": { "folder": "inbox" }
}
在查询中过滤
Elasticsearch 将以更有效的方式执行查询和过滤,以减少结果集并尽快为您提供答案。
这被称为 filtered_query
查询后过滤
查询首先是运行,然后然后结果在返回给客户端之前被过滤。
这被称为 post_filter.
虽然 post_filter 效率较低,但它在与聚合结合时很有用 - 聚合值不会考虑 post_filter,即聚合只会在查询结果。
虽然这两个给我的结果相同,但在内部或外部安装过滤器有什么区别?在表演或幕后动作方面有区别吗?
"query": {
"filtered": {
"query": { "match": { "email": "business opportunity" }},
"filter": { "term": { "folder": "inbox" }}
}
}
"query": {
"filtered": {
"query": { "match": { "email": "business opportunity" }}
}
},
"filter": {
"term": { "folder": "inbox" }
}
在查询中过滤
Elasticsearch 将以更有效的方式执行查询和过滤,以减少结果集并尽快为您提供答案。 这被称为 filtered_query
查询后过滤
查询首先是运行,然后然后结果在返回给客户端之前被过滤。 这被称为 post_filter.
虽然 post_filter 效率较低,但它在与聚合结合时很有用 - 聚合值不会考虑 post_filter,即聚合只会在查询结果。