gpt4 book ai didi

elasticsearch - ElasticSearch的多指标子聚合情况

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

我知道,Elasticsearch支持带有存储桶的子聚合(其中存储桶聚合可以具有存储桶或度量标准子聚合)。指标聚合无法实现子聚合。也许这很有意义,但这是用例。

我有term aggregation作为 parent 。并使用另一个term聚合作为其子级。子term具有类型 top_hits 的子聚合。 top_hits是一个度量标准聚合,因此它不能接受任何子级聚合。现在需要在混合中包括avg聚合。给定top_hits是聚合树中的最后一个聚合,因为avg是度量聚合,所以不能将top_hits作为其子级。

以下是所需的聚合级别。 (当然,鉴于top_hits是一个指标汇总,并且对于avg汇总也为true,这是无效的。

{
"aggregations": {
"top_makes": {
"terms": {
"field": "make"
},
"aggregations": {
"top_models": {
"terms": {
"field": "model"
},
"aggregations": {
"top_res": {
"top_hits": {
"_source": {
"include": [
"model",
"color"
]
},
"size": 10
}
}
}
}
},
"aggregations": {
"avg_length": {
"avg": {
"field": "vlength"
}
}
}
}
}
}

解决此问题的最佳方法或最佳方法是什么?

最佳答案

我认为这可以工作,请验证..

{
"aggregations": {
"top_makes": {
"terms": {
"field": "make"
},
"aggregations": {
"top_models": {
"terms": {
"field": "model"
},
"aggregations": {
"top_res": {
"top_hits": {
"_source": {
"include": [
"model",
"color"
]
},
"size": 10
}
}
},
"avg_length": {
"avg": {
"field": "vlength"
}
}
}
}
}
}
}

关键是您可以有一个或多个同级聚合(子聚合)。

关于elasticsearch - ElasticSearch的多指标子聚合情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944170/

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