elasticsearch - Elasticsearch删除文档的处理

标签 elasticsearch lucene full-text-indexing

我们正在使用 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/

相关文章:

elasticsearch - Grok解析日志文件中的随机收件人数

elasticsearch - 设置可以从不同数据类型返回建议的 Elasticsearch suggesters

java - 在java类路径中设置lucene jar文件

php - 优化 MySQL 全文搜索

sql - Oracle:带条件的全文搜索

node.js - 带有Node.js的Elasticsearch js:如何从多个索引返回聚合结果?

hadoop - Elasticsearch -使用查询UI搜索完全匹配的字符串

search - lucene 怎么这么快计算文档的交集?

sorting - 如何按score + boost + field对 Elasticsearch 结果进行排序?

mysql - 如何使用MySQL更改全文索引最小字长?