gpt4 book ai didi

elasticsearch - ElasticSearch结果中的平均聚合

转载 作者:行者123 更新时间:2023-12-03 00:24:41 24 4
gpt4 key购买 nike

我想获得前10大促销产品的平均价格,因此我执行以下查询:

{
"aggs": {
"top_sale_avg_price": {
"avg": {"field": "price"},
"aggs": {
"top_sale_hits": {
"top_hits": {
"sort": [{"buy_count": {"order": "desc"}}],
"size": 10
}
}
}
}
}
}

然后我得到一个错误,它说 "AggregationInitializationException[Aggregator [top_sale_avg_price] of type [avg] cannot accept sub-aggregations]"

最佳答案

Top hits将找到与您的查询最匹配(即得分最高)的十个文档。然后对这个结果集进行排序-因此,热门歌曲对您不起作用。

您也不能将top_hitsavg彼此嵌套-您只能嵌套在存储桶中(例如字词,直方图,范围等)

为了满足您的要求,您可以运行2个查询。
首先找到匹配的文件(十大销售产品):

{
"fields" : ["_id"],
"sort": [
{ "buy_count": { "order": "desc" }}
],
"size":10,
"query": {
"match_all": {}
}
}'

第二个查询以获取平均销售价格-您需要填充ID。
{
"filter" : {
"ids": {
"values": [ "07cfbc09-360b-10d8-e053-28ab48a5c296", "07cf438e-7830-19ec-e053-28ab48a59c0b"]}
},
"aggs" : {
"top_sale_avg_price" : {
"avg": {"field" : "price" } }
}
}'

关于elasticsearch - ElasticSearch结果中的平均聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934243/

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