过滤器聚合

filter 聚合是一个查询子句,与搜索查询(matchtermrange)完全相同。您可以使用 filter 聚合,在创建桶之前将整个文档集缩小到特定的集合。

以下示例显示了在过滤器上下文中运行的 avg 聚合。avg 聚合仅聚合与 range 查询匹配的文档:

GET opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "low_value": {
      "filter": {
        "range": {
          "taxful_total_price": {
            "lte": 50
          }
        }
      },
      "aggs": {
        "avg_amount": {
          "avg": {
            "field": "taxful_total_price"
          }
        }
      }
    }
  }
}

示例响应

...
"aggregations" : {
  "low_value" : {
    "doc_count" : 1633,
    "avg_amount" : {
      "value" : 38.363175998928355
    }
  }
 }
}