2015-04-02 106 views
0

我們使用彈性搜索來獲得一些靜態值。彈性搜索總計值的總和

  1. 我需要得到每個組的平均值。
  2. 總計所有此值

到目前爲止,步驟編號1非常簡單。不過,我真的不知道如何總結所有的價值。這可能嗎?如果是,如何?

感謝您的建議。 這裏是我的AGGS查詢>

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "query_string":{ 
       "analyze_wildcard":true, 
       "query":"*" 
      } 
     } 
     } 
    }, 
    "aggs":{ 
     "2":{ 
     "terms":{ 
      "field":"person", 
      "size":5000, 
      "order":{ 
       "1":"desc" 
      } 
     }, 
     "aggs":{ 
      "1":{ 
       "avg":{ 
        "field":"company" 
       } 
      } 
     } 
     } 
    } 
} 

回答

0

彙總在彙總結果尚未在elasticsearch支持。顯然有一個名爲reducers的概念正在爲2.0開發。我建議看看scripted metric aggregations。基本上,您可以通過使用腳本自己控制集合和計算方面來創建自己的聚合。

或者,如果可能的話,您可以在索引時預先計算並存儲平均值,然後在查詢時使用總和聚合。

查看下面的問題,查看此聚合的示例:Elasticsearch: Possible to process aggregation results?