【问题标题】:How to retrieve older version document from elasticsearch?如何从弹性搜索中检索旧版本文档?
【发布时间】:2020-06-25 19:50:53
【问题描述】:

有没有办法在 elasticsearch 中检索同一文档的旧版本? 假设我在 ES 中索引了 1 个文档:

put class/student/1
{
    "marks":95
}

稍后我想将其更新为:

put class/student/1
    {
        "marks":96
    }

只要我索引更新的标记,我就会看到“_version”被更新为 2。 有没有办法查询 ES 并获取 _version=1 文档?

【问题讨论】:

    标签: indexing elasticsearch


    【解决方案1】:

    这是不可能的。即使每个创建/索引/更新/删除操作都有一个版本号,该版本号也不能用于检索文档的旧版本。相反,它可以用来防止读取/操作/索引操作时的脏读

    【讨论】:

    • Vineeth,你的意思是说 ES 不带有检索旧版本文档的功能吗?如果我想返回旧版本的文档并检查必要的字段,那么我需要做什么?
    • 您需要自己维护版本。就像为每个文档更改或该行中的某些内容创建一个新文档一样。另一种选择是在 couchDB 或其他支持版本控制的 DB 中维护文档,然后使用 Elasticsearch 进行搜索。因此,您需要将数据复制到两个数据库。
    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2015-06-01
    • 2022-08-12
    相关资源
    最近更新 更多