Elasticsearch处理已删除的文档

时间:2018-02-08 14:09:30

标签: elasticsearch lucene full-text-indexing

我们正在使用 Elasticsearch(6.1)进行索引。我们过去常常每天更新我们的文件。我们在使用 count API 时遇到问题。基本上我们得到的是不正确的数。

我的分析表明,这是因为Lucene处理doc更新查询的方式。(所以删除文档和更新文档的数量)  我引用了这个博客(https://stackoverflow.com/a/48611348/9129668

一两天后,计数开始正确。 每当有很多文档得到更新时,它就会发生。

这件事可以修复,以便我们能够在实时中获得正确的计数。

1 个答案:

答案 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

应该给你一份文件。

默认情况下,刷新每秒完成一次。因此,除非您更改此索引设置,否则我无法看到您需要等待一天才能获得准确的结果。