Filter Aggregation(过滤器聚合)

原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html

译文链接 :Filter Aggregation(过滤器聚合)

贡献者 : @于永超,ApacheCNApache中文网

Filter Aggregation(过滤器聚合)

定义当前文档集上下文中与指定过滤器匹配的所有文档的单个bucket(桶)。 通常这将用于将当前聚合上下文缩小到一组特定的文档。

例子:

  1. POST /sales/_search?size=0
  2. {
  3. "aggs" : {
  4. "t_shirts" : {
  5. "filter" : { "term": { "type": "t-shirt" } },
  6. "aggs" : {
  7. "avg_price" : { "avg" : { "field" : "price" } }
  8. }
  9. }
  10. }
  11. }

在上面的例子中,我们计算了type(类型)为t-shirt的所有产品的平均价格。

响应结果:

  1. {
  2. ...
  3. "aggregations" : {
  4. "t_shirts" : {
  5. "doc_count" : 3,
  6. "avg_price" : { "value" : 128.33333333333334 }
  7. }
  8. }
  9. }