弹性搜索,最有效的布尔映射过滤器,即 select all true/false

Elastic search, most efficient filter for boolean mapping, ie select all true/false

我有以下字段映射:

mapping.add_property(BooleanField(name='my_bool'))

我想 return 此字段为 true/false 的所有项目,目前正在使用术语过滤器执行此操作。是否有更有效的方法来构建此过滤器?

谢谢。

{
    "query" : {
        "term" : { "my_bool" : "true"}
    }
}

在这个

中使用 term filter 会更有效率

1) 查询涉及为与上述情况无关的文档计算 scores

2) 术语过滤器将遍历所有文档,构建一个位集,然后将其缓存以供后续查询使用

{
     "filter" : {
          "term" : {"my_bool" : "true"}
      }

}