DSL:查询结果过滤
应该尽可能使用过滤器。过滤器不影响评分,而得分计算让搜索变得复杂,而且需要CPU资源。
另一方面,过滤是一种相对简单的操作。由于过滤应用在整个索引的内容上,过滤的结果独立于找到的文档,也独立于文档之间的关系。
过滤器很容易被缓存,从而进一步提高过滤查询的整体性能。
我们使用post_filter参数保持例子尽可能地简单。然而,请记住,如果可能,应该总是使用filtered查询,而不是post_filter,因为filtered执行起来更快。
使用过滤器
在任何搜索中使用过滤器,只需在于query节点相同级别上添加一个filter节点。如果你只想要过滤器,也可以完全省略query节点。
GET devicelog_00/_search { "query": { "match_all": {} }, "post_filter": { "term": { "Items.name": "k1" } } }

浙公网安备 33010602011771号