我们正在使用 Elasticsearch(6.1)进行索引。我们过去常常每天更新我们的文件。我们在使用 count API 时遇到问题。基本上我们得到的是不正确的数。
我的分析表明,这是因为Lucene处理doc更新查询的方式。(所以删除文档和更新文档的数量) 我引用了这个博客(https://stackoverflow.com/a/48611348/9129668)
一两天后,计数开始正确。 每当有很多文档得到更新时,它就会发生。
这件事可以修复,以便我们能够在实时中获得正确的计数。
答案 0 :(得分:1)
更新文档(索引或删除)后,如果需要立即查询,则需要刷新索引。
例如
DELETE test
PUT test/doc/1
{
"user": "kimchy"
}
PUT test/doc/2
{
"user": "kimchy"
}
DELETE test/doc/1
POST test/_refresh
GET test/_count
应该给你一份文件。
默认情况下,刷新每秒完成一次。因此,除非您更改此索引设置,否则我无法看到您需要等待一天才能获得准确的结果。