以下是我从两个网址获得的内容
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是不同的?谢谢!
答案 0 :(得分:1)
如果您在索引中存储了嵌套类型的文档,那么文档中的差异很可能是因为这一点。
每个嵌套文档都作为单独的隐藏文档存储在Elasticsearch中,以便能够在这些嵌套文档中保持关系。 有关详细信息,请记录here
因此,由于它是隐藏的,您无法通过搜索API找到它,只获得“主”文档作为结果。
此外,有一个issue on github应该澄清两个计数之间的差异。
答案 1 :(得分:0)
一个选项是您删除了文档:文档在ES中是不可变的,因此任何修改(包括删除)都将使用新的版本号创建文档的新副本。
对_cat/indices?v
的调用会返回所有文档的计数,包括已删除的文档,但您无法通过_search