首页 > 解决方案 > Elasticsearch 何时确认文档的索引?

问题描述

我将一个文档添加到我的索引中(通过使用 Java 高级客户端)。插入请求成功。但是,如果立即搜索新索引的文档,则搜索请求的响应不包括新文档。搜索请求保证在插入请求之后发生 - 但可能仅延迟几毫秒。

我的索引配置为一个分片和一个副本。不过,Elasticsearch 在单个节点上运行,因此不应该有副本(集群状态为黄色)。

Elasticsearch 在索引工作流中的什么时候向请求者响应“成功”?这会在文档实际被索引之前发生吗?
据我了解,当将新文档添加到每个(活动)节点(主节点或副本)时,Elasticsearch 应该做出响应。
哪种情况可能会导致我的并发问题?

标签: elasticsearchelasticsearch-dslelasticsearch-java-api

解决方案


如果您的插入请求成功,则您的文档已编入索引,但无法立即用于搜索。

您需要等待索引的刷新,默认情况下每秒发生一次,并由设置index.refresh_interval管理


推荐阅读