3

Elasticsearch Histogramfacet似乎不支持 all_terms = true (即:即使 count=0 也返回 facetvalue / bucket)

它是否正确?

4

1 回答 1

3

是的,这是正确的。但是,如果您不使用相关性对结果进行排序,则可以将查询移动到顶级filter元素中并放入match_all顶级query元素中。例如,对于以下请求,将返回两个直方图 - 一个仅包含与查询对应的元素,另一个用于整个索引:

{
    "query": {
        "match_all": {}
    },
    "filter": {
        // filter goes here
    },
    "facets": {
        "histo_all": {
            "histogram": {
                "field": "my_field"
            }
        },
        "histo": {
            "histogram": {
                "field": "my_field"
            },
            "facet_filter": {
                // same filter from top-level filter goes here
            }
        }
    }
}
于 2012-12-19T05:28:41.080 回答