Elasticsearch Histogramfacet似乎不支持all_terms = true(即:即使count = 0,也返回facetvalue / bucket)
这样对吗?
是的,这是正确的。但是,如果您不使用相关性对结果进行排序,则可以将查询移至顶层filter元素,然后置于match_all顶层query元素中。例如,对于以下请求,将返回两个直方图- 一个直方图仅包含与查询相对应的元素,另一个直方图用于整个索引:
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 } } } }