jmespath.site
jmespath.site copied to clipboard
How to transform Elasticsearch mutiple aggregation TopN
in Elasticsearch I have to query with mutiple aggregation, result like this:
[
{
"field_name1": "field_name1_value1",
"field_name2": "field_name2_value1",
"count": 2
"topN": [{"name": "aaa"},{"name": "bbb"}]
},
{
"field_name1": "field_name1_value2",
"field_name2": "field_name2_value2",
"count": 2
"topN": [{"name": "ccc"},{"name": "ddd"}]
},
{
"field_name1": "field_name1_value1",
"field_name2": "field_name2_value2",
"count": 3
"topN": [{"name": "eee"},{"name": "fff"},{"name": "ggg"}]
}
]
I hope transform it like this :
{
"field_name1_value1": {
"field_name2_value1": {
"count": 2,
"topN": [{"name": "aaa"},{"name": "bbb"}]
},
"field_name2_value2": {
"count": 3,
"topN": [{"name": "eee"},{"name": "fff"},{"name": "ggg"}]
}
},
"field_name1_value2": {
"field_name2_value2": {
"count": 2,
"topN": [{"name": "ccc"},{"name": "ddd"}]
}
}
}
how could I do