一尘不染

ES:具有all_terms = true的直方图构面的直方图构面

elasticsearch

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

这样对吗?


阅读 274

收藏
2020-06-22

共1个答案

一尘不染

是的,这是正确的。但是,如果您不使用相关性对结果进行排序,则可以将查询移至顶层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
            }
        }
    }
}
2020-06-22