首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Elasticsearch统计文档数

使用Elasticsearch统计文档数
EN

Stack Overflow用户
提问于 2014-09-09 16:26:31
回答 5查看 126.2K关注 0票数 72

如果想要计算索引( Elasticsearch)中的文档数量,那么有(至少?)有两种可能性:

  • Direct count

发布my_index/_count

应返回my_index.

  • Using search中的文档数

在这里,可以将count用作search_type或其他类型。在这两种情况下,总计数都可以从字段['hits']['total']中提取

我的问题是:

  • 不同方法之间的区别是什么?我应该选择哪一个?
  • 我之所以提出这个问题,是因为根据所选的方法,我会遇到不同的结果。我现在正在调试这个问题,突然出现了这个问题。
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-09 19:37:18

_count可能会更快一些,因为它不需要执行完整的查询并获取排名和结果,只需返回大小即可。

不过,更多地了解如何获得不同的结果将是一件有趣的事情。为此,我需要更多的信息,如您发送的确切查询,以及索引上是否正在进行任何索引。

但假设您执行以下操作

索引some documents

  • refresh

_search_count (使用match all查询)应返回相同的总数。如果不是,那就太奇怪了。

票数 57
EN

Stack Overflow用户

发布于 2020-03-26 04:59:37

如果必须使用_search而不是_count,并且您使用的是Elasticsearch 7.0+,则设置size: 0track_total_hits: true将提供与_count相同的信息

代码语言:javascript
运行
复制
GET my-index/_search
{
  "query": { "term": { "field": { "value": "xyz" } } },
  "size": 0,
  "track_total_hits": true
}


{
  "took" : 612,
  "timed_out" : false,
  "_shards" : {
    "total" : 629,
    "successful" : 629,
    "skipped" : 524,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 29349466,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  }
}

请参阅Elasticsearch 7.0 Breaking changes

票数 25
EN

Stack Overflow用户

发布于 2019-10-10 04:56:52

curl http://localhost:9200/_cat/indices?v以表格形式向您提供计数和其他信息

代码语言:javascript
运行
复制
health status index                              uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-2019.10.09-000001         IS7HBUgRRzO7Rn1puBFUIQ   1   1          0            0       283b           283b
green  open   .kibana_task_manager_1             e4zZcF9wSQGFHB_lzTszrg   1   0          2            0     12.5kb         12.5kb
yellow open   metricbeat-7.4.0-2019.10.09-000001 h_CWzZHcRsakxgyC36-HTg   1   1       6118            0      2.2mb          2.2mb
green  open   .apm-agent-configuration           J6wkUr2CQAC5kF8-eX30jw   1   0          0            0       283b           283b
green  open   .kibana_2                          W2ZETPygS8a83-Xcd6t44Q   1   0       1836           23      1.1mb          1.1mb
green  open   .kibana_1                          IrBlKqO0Swa6_HnVRYEwkQ   1   0          8            0    208.8kb        208.8kb
yellow open   filebeat-7.4.0-2019.10.09-000001   xSd2JdwVR1C9Ahz2SQV9NA   1   1          0            0       283b           283b
green  open   .tasks                             0ZzzrOq0RguMhyIbYH_JKw   1   0          1            0      6.3kb          6.3kb
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25739888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档