我想得到一个子聚合的和。例如,我按智能手机分组,然后按运营商分组,然后我找到了每一家运营商对这款智能手机的平均价格。我想得到每部智能手机所有运营商的平均价格之和。所以基本上,我想要这样的东西:
{
"aggs": {
"group_by_smartphones": {
"terms": {
"field": "smartphone",
"order": {
"_term": "asc"
},
"size": 200
},
"aggs": {
"group_by_carrier": {
"terms": {
"field": "carrier",
"order": {
"group_by_avg": "desc"
}
},
"aggs": {
"group_by_avg": {
"avg": {
"field": "price"
}
}
}
},
"group_by_sum": {
"sum_bucket": {
"field": "group_by_smartphones>group_by_carrier>group_by_avg"
}
}
}
}
}
}当我尝试执行这个查询时,我会看到一个错误:
“类型”:"parsing_exception",“原因”:“group_by_sum中的意外令牌VALUE_STRING字段”,
从本质上说,我想得到一个特定智能手机的所有运营商的平均值之和。有办法弄到这个吗?
发布于 2017-07-24 05:09:56
您的group_by_sum聚合需要这样编写:
"group_by_sum": {
"sum_bucket": {
"buckets_path": "group_by_carrier>group_by_avg"
}
}https://stackoverflow.com/questions/45268131
复制相似问题