我们正在使用 Elasticsearch(6.1)进行索引。我们过去每天都会更新文件。我们面临 count API 的问题。基本上,我们得到了不正确的计数。
我的分析表明,这是因为Lucene如何处理文档更新查询。(因此,这是已删除文档和已更新文档的数量)
我提到了这个博客(https://www.elastic.co/blog/lucenes-handling-of-deleted-documents)
一两天后,计数开始正确。
每当许多文档更新时,它都会发生。
可以修复此问题,以便我们可以在实时中获得正确的计数。
最佳答案
更新文档(建立索引或删除索引)后,如果需要立即查询它们,则需要刷新索引。
例如
DELETE test
PUT test/doc/1
{
"user": "kimchy"
}
PUT test/doc/2
{
"user": "kimchy"
}
DELETE test/doc/1
POST test/_refresh
GET test/_count
应该给你1个文件。
默认情况下,刷新每秒完成一次。因此,除非您更改此索引设置,否则我看不到您将如何等待一天才能获得准确的结果。
关于elasticsearch - Elasticsearch删除文档的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48687480/