【问题标题】:Elastic Search - Refresh Vs Transaction Log弹性搜索 - 刷新与事务日志
【发布时间】:2019-09-17 17:01:35
【问题描述】:

我从链接 https://www.elastic.co/guide/en/elasticsearch/guide/2.x/translog.html 看到了这个声明

translog 还用于提供实时 CRUD。当您尝试按 ID 检索、更新或删除文档时,它首先会检查 translog 是否有任何最近的更改,然后再尝试从相关段中检索文档。这意味着它始终可以实时访问文档的最新已知版本。

但是,Elastic 搜索声称接近实时搜索,一旦刷新完成,文档就可以搜索。是不是搜索查询会先看事务日志?

有点困惑,请指导我

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    CRUD 仅在您尝试...

    按 ID 检索、更新或删除文档

    因此,当您对文档进行 CRUD(由 ID 暗示)时,Elastic 会先查找 translog,然后再从低级段文件中获取文档。

    搜索是另一回事,只有在刷新阶段完成后才能搜索文档。

    这就是为什么 CRUD 是实时的,而搜索却是接近实时的。

    【讨论】:

    • 即使在事务日志中不存在文档的情况下(可能在刷新之后),仍然是实时 CRUD
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2023-03-18
    • 2020-08-18
    • 2023-03-27
    • 2020-03-29
    相关资源
    最近更新 更多