2017-07-23 117 views
0

我想要得到子聚合的总和。例如,我正在通过智能手机进行分组,然后由运营商进行分组,然后找到该特定智能手机的每个运营商的平均价格。我想获得每部智能手机所有运营商平均价格的总和。所以基本上,我想是这样的:查找平均子聚合的总和

{ 
    "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”,“原因”:“意外令牌VALUE_STRING [现场]在[group_by_sum]”,

所以基本上我想要得到的所有运营商的平均值的总和为特定的智能手机。有没有办法得到这个?

回答

0

group_by_sum聚集需要这样写:

"group_by_sum": { 
     "sum_bucket": { 
     "buckets_path": "group_by_carrier>group_by_avg" 
     } 
    } 
+0

任何这方面的运气? – Val