0
假設我在ES中有這些數據。按用戶定義的組elasticsearch聚合
| KEY | value |
|:-----------|------------:|
| A | 1|
| A | 2|
| B | 2|
| C | 3|
| D | 4|
| E | 5|
| E | 5|
| F | 6|
我用這個
{
"from": 0,
"size": 0,
"query": {
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"bool" : {
"must" : [
{"terms": {"key": ["A", "B", "C", "D", "E", "F"]}}
]
}
}
}
},
"aggs" : {
"sum_value" : {
"terms" : { "field" : "key" },
"aggs" : {
"sum_value" : { "sum" : { "field" : "value" } }
}
}
}
}
得到同樣關鍵的總和,結果是這樣的:
"sum_uv": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "A",
"doc_count": 2,
"sum_value": {
"value": 3
}
}
....
]
}
但現在,我要總結的所有元素例如,在同一組中,我有一個映射數據,它告訴我組信息:
group1 = [A, B, C]
group2 = [D, E, F]
.....
我想我需要一個嵌套聚合的目的,但我不知道這樣做。
結果是這樣的:
sum_group1 = 8
sum_group2 = 20
......
提前感謝!
謝謝,但是現在的情況是,我不能給文檔添加任何東西並且組關係數據從另一個數據庫中獲取。這個小組沒有任何模式。 –
@JasonYoung添加使用過濾器聚合的示例。這是你所要求的那種行爲嗎? – Peter
不錯!那就對了。 2是我想要的! –