【发布时间】:2019-11-19 04:29:14
【问题描述】:
我必须对 json 数据进行一些聚合。我在stackoverflow上看到了多个答案,但对我没有任何帮助。 我有多行,在 timeCountry 列中我有一个存储 JSON 对象的数组。带有键数、国家名称、s_name。
我要根据s_name求所有行的总和, 示例 - 如果在第一行 timeCountry 包含如下所示的数组
[ {
"count": 12,
"country_name": "america",
"s_name": "us"
},
{
"count": 10,
"country_name": "new zealand",
"s_name": "nz"
},
{
"count": 20,
"country_name": "India",
"s_name": "Ind"
}]
第 2 行数据如下所示
[{
"count": 12,
"country_name": "america",
"s_name": "us"
},
{
"count": 10,
"country_name": "South Africa",
"s_name": "sa"
},
{
"count": 20,
"country_name": "india",
"s_name": "ind"
}]
像这样。
我需要如下结果
[{
"count": 24,
"country_name": "america",
"s_name": "us"
}, {
"count": 10,
"country_name": "new zealand",
"s_name": "nz"
},
{
"count": 40,
"country_name": "India",
"s_name": "Ind"
}, {
"count": 10,
"country_name": "South Africa",
"s_name": "sa"
}
]
以上数据仅针对一行我有多行 timeCountry 是列
我尝试为聚合编写的内容
{
"query": {
"match_all": {}
},
"aggregations":{
"records" :{
"nested":{
"path":"timeCountry"
},
"aggregations":{
"ids":{
"terms":{
"field": "timeCountry.country_name"
}
}
}
}
}
}
但它不起作用请帮助
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation elasticsearch-dsl-py