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

Elasticsearch v7:如何按索引统计查询匹配的文档数量?

按索引分组统计匹配文档数量

你原来的查询应该是想执行搜索操作(注意PUT是修改类请求,搜索要使用GET),正确的搜索请求写法是:

GET my_index-*/_search
{
  "query": {
    "match": {
      "foo": "bar"
    }
  }
}

要单独获取每个索引中匹配条件的文档数量,直接用Elasticsearch的聚合功能就能实现,核心思路是按_index字段做分组统计:

GET my_index-*/_search
{
  "size": 0,  // 不需要返回具体文档,仅保留聚合结果,提升效率
  "query": {
    "match": {
      "foo": "bar"
    }
  },
  "aggs": {
    "count_by_index": {
      "terms": {
        "field": "_index",  // 按索引名称分组
        "size": 1000  // 如果匹配的索引超过1000个,按需调整这个数值
      }
    }
  }
}

结果说明

返回的聚合结果中,count_by_index.buckets会列出每个匹配索引的名称,以及对应的doc_count字段——这个值就是该索引里符合foo="bar"条件的文档总数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:36