我的弹性搜索索引有大约2300万个文档,但如果我查看
curl -XGET 'http://localhost:9200/myindex/_stats?pretty'
我看到的文件数量增加了7倍
"primaries" : {
"docs" : {
"count" : 150292264,
"deleted" : 16121164
},
...
}
如何计算这些统计数据?
答案 0 :(得分:0)
更高计数的原因是_stats
api也会考虑嵌套文档。我认为你的映射中有nested datatype。
您可以使用count api来计算顶级文档。
curl -XGET 'http://localhost:9200/myindex/_count?pretty'
将返回2300万个文档。
对于已删除的文档,它们代表已更新或删除的文档。更新文档时,前一个文档被标记为已删除,并且添加了新文档,因为段是不可变的。这些已删除的文档占用磁盘空间,直到调用下一个合并。您可以详细了解here和here
最后,您可以尝试通过调用force merge来回收磁盘空间,但操作非常繁重,并且会阻止任何新请求,直到完成为止。