You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elasticsearch中高效获取每个分桶的平均文档数

你可以直接在buckets_path中使用Elasticsearch内置的_count关键字引用每个terms分桶自带的doc_count值,无需额外定义冗余的sales_count聚合。

优化后的查询语句如下:

GET hat_sales/_search
{
  "size": 0,
  "query": {"match_all": {}},
  "aggs": {
    "stores": {
      "terms": {
        "field": "storename",
        "size": 65536
      }
    },
    "average_sales_count": {
      "avg_bucket": {
        "buckets_path": "stores>_count"
      }
    }
  }
}

_count是Elasticsearch管道聚合支持的内置变量,直接对应每个分桶的原生文档计数,完全匹配单文档对应一笔销售场景下的门店销量统计需求,同时还能避免原写法中cardinality聚合带来的近似计算误差,降低查询的资源消耗。

内容的提问来源于stack exchange,提问作者Sean Letendre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:39:00