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

时间:2012-12-18 22:22:16

标签: elasticsearch

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

这是对的吗?

1 个答案:

答案 0 :(得分: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
            }
        }
    }
}