gpt4 book ai didi

elasticsearch - Elasticsearch:数组的每个元素的总和

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

我正在尝试使用Elasticsearch聚合基于一组过滤器“合并”整数数组。我的文件看起来像:

{
"arr": [5, 4, 3, 2, 1],
"name": "test"
}
{
"arr": [4, 3, 2, 1, 0],
"name": "test"
}
{
"arr": [1, 0, 0, 0, 0],
"name": "test"
}

我想使用聚合(或其他一些es方法)返回
{
"arr": [10, 7, 5, 3, 1]
}

最接近的聚合是
{
"size":0,
"aggs": {
"sum_by_index": {
"filter": {
"terms": {
"name": ["test"]
}
}
},
"aggs": {
"names": {
"terms": {
"field": "name"
},
"aggs": {
"arrs": {
"terms": {
"field": "arr"
}
}
}
}
}
}
}
}

但这导致数组中每个值的总和,在这里我想要数组每个索引的总和。有人在想吗?

最佳答案

您可以在脚本编写中使用_source来实现相同的功能。默认情况下支持groovy

 "script" : "_source.arr?.sum(0)"

关于elasticsearch - Elasticsearch:数组的每个元素的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475877/

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