2017-07-23 113 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