具有范围doc count的Elasticsearch术语聚合

时间:2017-04-06 04:43:54

标签: elasticsearch

我想聚合一个字段,只返回doc count在10到20之间的那些桶。例如

到目前为止,文档中说我们可以提供min_doc_count参数。

我们有什么办法可以提供max_doc_count所以我只能得到所需的桶吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用以下查询使用bucket_selector聚合过滤存储桶。您可以深入了解管道聚合和存储桶路径here

在以下示例中,我将在product.name字段上聚合文档,其中product对我来说属于object。

{
    "size": 0,
    "aggs": {
        "values": {
            "terms": {
                "field": "product.name.raw",
                "size": 10
            },
            "aggs": {
                "final_filter": {
                    "bucket_selector": {
                        "buckets_path": {
                            "values": "_count"
                        },
                        "script": "params.values > 10 && params.values < 20"
                    }
                }
            }
        }
    }
}

希望这会有所帮助 感谢