gpt4 book ai didi

elasticsearch - 使用数组项作为键的ElasticSearch聚合

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

是否可以通过取消嵌套用作键的数组元素来创建聚合?
这是一个例子:
文件:

[
{
"languages": [ 1, 2 ],
"value": 100
},
{
"languages": [ 1 ],
"value": 50
}
]
其映射:
{
"documents": {
"mappings": {
"properties": {
"languages": {
"type": "integer"
},
"value": {
"type": "integer"
}
}
}
}
}
汇总汇总的预期输出为:
{
1: 150,
2: 100
}

最佳答案

您可以使用简单的terms aggregation实现您想要的。数组元素将单独存储:

POST index/_search
{
"aggs": {
"languages": {
"terms": {
"field": "languages"
},
"aggs": {
"total": {
"sum": {
"field": "value"
}
}
}
}
}
}
结果:
  "aggregations" : {
"languages" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : 1,
"doc_count" : 2,
"total" : {
"value" : 150.0
}
},
{
"key" : 2,
"doc_count" : 1,
"total" : {
"value" : 100.0
}
}
]
}
}

关于elasticsearch - 使用数组项作为键的ElasticSearch聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63026031/

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