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

Elasticsearch多字段Terms聚合实现方法问询

实现Elasticsearch多字段独立Terms聚合

没问题!既然你已经成功搞定了单个first-metadata字段的Terms聚合,要扩展到second-metadata、third-metadata这类多个元数字段,直接在aggs节点下添加多个独立的Terms聚合配置即可,每个配置对应一个目标字段。

完整查询示例

GET index/_search
{
  "aggs": {
    "first-metadata": {
      "terms": {
        "field": "filters.metadata.first-metadata"
      }
    },
    "second-metadata": {
      "terms": {
        "field": "filters.metadata.second-metadata"
      }
    },
    "third-metadata": {
      "terms": {
        "field": "filters.metadata.third-metadata"
      }
    }
  },
  "size": 0 // 可选:如果不需要返回原始文档,加这个能减少响应体积,提升查询效率
}

预期响应结构

执行后你会得到每个字段独立的聚合统计结果,格式大概是这样:

{
  "aggregations": {
    "first-metadata": {
      "buckets": [
        { "key": 87000, "doc_count": 2 },
        { "key": 100000, "doc_count": 1 }
      ]
    },
    "second-metadata": {
      "buckets": [
        { "key": "sample-value-1", "doc_count": 5 },
        { "key": "sample-value-2", "doc_count": 3 }
      ]
    },
    "third-metadata": {
      "buckets": [
        { "key": "another-sample", "doc_count": 10 }
      ]
    }
  }
}

小提示

如果你的元数字段有统一的命名规则,也可以考虑用脚本聚合来简化配置,但对于数量不多的固定字段,直接写多个独立聚合块是最直观且高效的方式。

内容的提问来源于stack exchange,提问作者Piotr Pradzynski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:13:02