【问题标题】:When does Elasticsearch confirm the indexing of a document?Elasticsearch 何时确认文档的索引?
【发布时间】:2020-07-30 14:47:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: elasticsearch elasticsearch-dsl elasticsearch-java-api


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,帮了大忙。在具有多个节点(分片和副本)的场景中:如果我将搜索请求的延迟时间超过 index.refresh_interval,是否仍保证新文档可用于搜索?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多