gpt4 book ai didi

elasticsearch - 从Elasticsearch聚合中删除 ''存储桶

转载 作者:行者123 更新时间:2023-12-02 22:46:17 25 4
gpt4 key购买 nike

如何在没有修改aggregation术语的情况下使Elasticsearch query从聚合结果中删除某些存储桶键。例如,我想从存储桶列表中删除''空键。我可以使用某种Have子句吗?

我的查询是这样的

{
"query": {
"terms": {
...
}
},
"aggs": {
"name_match": {
"terms": {
"field": "name_match",
"min_doc_count": 2,
"size": 20
}
}
}
}

结果:

{
"hits": {
...
},
"aggregations": {
"name_match": {
"buckets": [
{
"key": "A",
"doc_count": 136
},
{
"key": "B",
"doc_count": 16
},
{
"key": "",
"doc_count": 24
}]
}
}
}

想要的结果

{
"hits": {
...
},
"aggregations": {
"name_match": {
"buckets": [
{
"key": "A",
"doc_count": 136
},
{
"key": "B",
"doc_count": 16
}]
}
}
}

最佳答案

是的,可以使用exclude中可用的terms aggregation参数。此参数采用需要从存储桶中排除的键数组。要排除特定键,您的聚合应如下所示重写:

{
"query": {
"terms": {
...
}
},
"aggs": {
"name_match": {
"terms": {
"field": "name_match",
"exclude": [""],
"min_doc_count": 2,
"size": 20
}
}
}
}

您可以阅读有关此主题 here的信息。

希望这可以帮助!

关于elasticsearch - 从Elasticsearch聚合中删除 ''存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com