聚合值的弹性搜索 SUM

Elastic Search SUM of aggregated values

我们正在使用弹性搜索来获取一些静态信息。

  1. 我需要获取每个组的平均值。
  2. 对所有这些值求和

到目前为止,步骤没有。 1 非常简单。但是我真的不知道最后如何对所有值求和。这可能吗?如果是,如何?

感谢您的建议。 这是我的聚合查询 >

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

elasticsearch 尚不支持对聚合结果进行聚合。显然有一个概念叫做reducers that are being developed for 2.0. I would suggest having a look at scripted metric aggregations。基本上,您可以通过使用脚本自己控制收集和计算方面来创建自己的聚合。

或者,如果可能,您可以在索引时预先计算并存储平均值,然后在查询时使用求和聚合。

查看以下问题以获得此聚合的示例:Elasticsearch: Possible to process aggregation results?