Elasticsearch - _cat / indices和<index> / _ search之间的文档数量不一致

时间:2015-07-07 23:39:36

标签: elasticsearch

以下是我从两个网址获得的内容

http://localhost:9200/_cat/indices?v

health status index          pri rep docs.count docs.deleted store.size pri.store.size 
green  open   myindex        5   1         40            0    263.4kb        131.7kb 

http://localhost:9200/myindex/_search

hits: {total: 10, max_score: 1, hits: [...]}

hits.total = 10是从第二个URL返回的,但是为什么docs.count = 40返回的第一个URL是不同的?谢谢!

2 个答案:

答案 0 :(得分:1)

如果您在索引中存储了嵌套类型的文档,那么文档中的差异很可能是因为这一点。

每个嵌套文档都作为单独的隐藏文档存储在Elasticsearch中,以便能够在这些嵌套文档中保持关系。 有关详细信息,请记录here

因此,由于它是隐藏的,您无法通过搜索API找到它,只获得“主”文档作为结果。

此外,有一个issue on github应该澄清两个计数之间的差异。

答案 1 :(得分:0)

一个选项是您删除了文档:文档在ES中是不可变的,因此任何修改(包括删除)都将使用新的版本号创建文档的新副本。

_cat/indices?v的调用会返回所有文档的计数,包括已删除的文档,但您无法通过_search

访问它们