gpt4 book ai didi

elasticsearch - Elasticsearch,按字段分组并计算另一个字段的平均值

转载 作者:行者123 更新时间:2023-12-02 23:16:04 25 4
gpt4 key购买 nike

对应:

player_id: int
stat_date: date
some_param: int

如果几行具有相同的player_id,我需要为每个使用过的player_id的行计算平均值,即max_stat_date的平均值。

所以我需要所有球员最后一次比赛的平均值

由于“类型为[avg]的聚合器[average_val]无法接受子聚合”,因此此代码段无效
get test/test/_search
{
"size":0,
"aggs": {
"average_val":{
"avg": {
"field": "some_param"
},
"aggs": {
"by_player": {
"terms": { "field" : "player_id" },
"aggs" : {
"by_date" : {
"max" : { "field" : "stat_date" }
}
}
}
}
}
}
}

最简单的方法是使用简单的平均值
get test/test/_search
{
"size":0,
"aggs": {
"averages": {
"avg": {
"field": "some_param"
}
}
}
}

但是我只需要为最后一个统计日期计算平均播放器“some_param”。

最佳答案

我认为您只需要反转聚合的顺序即可。将avg聚合置于最深层的聚合中,它应该可以正常工作。

聚合有两种主要类型。平均是指标汇总,并输出指标(数字)。您需要将存储桶聚合(如术语聚合)放在外面,并对它们的输出进行指标聚合。

关于elasticsearch - Elasticsearch,按字段分组并计算另一个字段的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54775151/

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