是否可以从复合聚合中删除 doc_count 等内容

问题描述 投票:0回答:1

我使用具有复合聚合的 ElasticSearch 搜索请求,以获得一个特定字段的所有不同索引值的列表。 结果给了我所需的一切,但我不需要包含的所有信息。

要求:

{
    "aggs": {
        "my_buckets": {
            "composite": {
                "size": 10000,
                "sources": [{
                        "my_stoid": {
                            "terms": {
                                "field": "stoId"
                            }
                        }
                    }
                ]
            }
        }
    },
    "size": 0
}

回应:

{
    "took": 4,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 15,
            "relation": "eq"
        },
        "max_score": null,
        "hits": []
    },
    "aggregations": {
        "composite#my_buckets": {
            "after_key": {
                "my_stoid": "KV"
            },
            "buckets": [{
                    "key": {
                        "my_stoid": "1"
                    },
                    "doc_count": 5
                }, {
                    "key": {
                        "my_stoid": "2102"
                    },
                    "doc_count": 1
                }, {
                    "key": {
                        "my_stoid": "8000"
                    },
                    "doc_count": 1
                }, {
                    "key": {
                        "my_stoid": "9999"
                    },
                    "doc_count": 6
                }, {
                    "key": {
                        "my_stoid": "KB"
                    },
                    "doc_count": 1
                }, {
                    "key": {
                        "my_stoid": "KV"
                    },
                    "doc_count": 1
                }
            ]
        }
    }
}

我只需要桶中的值“1”、“2102”、“8000”...。 像这样:

    "buckets": ["1", "2102", "8000", "9999", "KB", "KV"]

有没有办法实现这个目标?

elasticsearch aggregation composite
1个回答
0
投票

Elasticsearch 论坛中的一个类似问题得到了这个答案:

文档计数的计算成本非常低,因为它只是为每个存储桶维护和增加一个 long。维护和更新每个存储桶的子聚合的成本将远高于此,因此它不会显着影响聚合请求的性能。

© www.soinside.com 2019 - 2024. All rights reserved.