【发布时间】:2017-12-22 08:35:03
【问题描述】:
我想获得子聚合的总和。例如,我按智能手机分组,按运营商分组,然后是该运营商的平均价格。我想获取特定智能手机的所有运营商的所有价格总和。所以本质上,我想要这样的东西:
{
"aggs": {
"group_by_smartphones": {
"terms": {
"field": "smartphone",
"order": {
"_term": "asc"
},
"size": 200
},
"aggs": {
"group_by_sum": {
"sum": {
"field": "price"
},
"aggs": {
"group_by_carrier": {
"terms": {
"field": "carrier",
"order": {
"group_by_avg": "desc"
}
},
"aggs": {
"group_by_avg": {
"avg": {
"field": "price"
}
}
}
}
}
}
}
}
}
}
除了,当我这样做时,我得到了这个错误:
"type": "aggregation_initialization_exception", "原因": "类型为 [sum] 的聚合器 [group_by_sum] 不能接受子聚合"
如何解决这个问题,以便获得每部智能手机所有价格的总和?
【问题讨论】:
标签: search elasticsearch lucene