gpt4 book ai didi

elasticsearch - 如何在 Elasticsearch 中汇总多列

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

如何在 Elasticsearch 中求和4列。
例:

 A B C 
1 1 1
1 2 2
A = 2的总和, B = 3的总和, C = 3的总和和 total(A,B,C) = 8的总和。

如何获得总和?
我已经完成了聚合查询,但是却抛出了 Unexpected token START_ARRAY
 {
"aggs": {
"total_count": {
"sum": {
"base_count": {
"sum": {
"field": "cse_licenseactivated_base_count"
}
},
"malware_count": {
"sum": {
"field": "cse_licenseactivated_malware_count"
}
},
"threat_count": {
"sum": {
"field": "cse_licenseactivated_threat_count"
}
},
"urlfiltering_count": {
"sum": {
"field": "cse_licenseactivated_urlfiltering_count"
}
}
}
}
}
}

最佳答案

您需要使用如下脚本:

{
"aggs": {
"total_count": {
"sum": {
"source": "doc.cse_licenseactivated_base_count.value + doc.cse_licenseactivated_malware_count.value + doc.cse_licenseactivated_threat_count.value + doc.cse_licenseactivated_urlfiltering_count.value"
}
}
}
}

或者,您也可以在建立索引时将所有这些字段求和,并将总和存储在另一个名为 cse_licenseactivated_total_count的字段中,这是一种更好的方法

关于elasticsearch - 如何在 Elasticsearch 中汇总多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47787329/

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