Elastic Search - 计数 api 显示索引的文档总数不正确

Ron*_*nie 1 search elasticsearch zipkin elasticsearch-7

我对弹性搜索中选定索引的文档计数有点困惑,下面是索引的片段

GET /_cat/indices/zipkin-span-2020-07-30?v

health status index                  uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   zipkin-span-2020-07-30 STcY29kkT3W7Y0XybbfVTQ   1   1     264996            0     88.9mb         88.9mb
Run Code Online (Sandbox Code Playgroud)

它显示文档计数为 264996,而当我点击以下请求时,它显示的记录很少(最多 20 条记录)

GET /zipkin-span-2020-07-30/_search

{"took":774,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},
"hits":{"total":{"value":10000,"relation":"gte"},"max_score":1.0,"hits":[{.... records.....}]}}
Run Code Online (Sandbox Code Playgroud)

注意 - 我也尝试过使用滚动 api,但仍然显示相同的输出。问题 -

  1. 这个问题与重复记录有关吗?
  2. 此计数是否也考虑副本记录?

Gib*_*bbs 6

@Bhavya 的回答,@Nate 的评论都很完美。

我会补充一点。

_cat/indices- 请勿用于检查计数。文档描述

它没有说有多少 ES 文档,而是说有多少 Lucene 文档。这里的区别是嵌套文档被视为一个 Lucene 文档。如果一个 ES 文档包含 5 个嵌套文档,那么_indicesAPI 会告诉你你有 5 个文档。

要获取 Elasticsearch 文档的准确计数,请使用cat countcount API。