elasticsearch,Indexing,elasticsearch" /> elasticsearch,Indexing,elasticsearch" />

Indexing 如何从elasticsearch检索旧版本文档?

Indexing 如何从elasticsearch检索旧版本文档?,indexing,elasticsearch,Indexing,elasticsearch,有没有办法在elasticsearch中检索同一文档的旧版本? 假设我在ES中为1个文档编制了索引: put class/student/1 { "marks":95 } 稍后我想将其更新为: put class/student/1 { "marks":96 } 当我索引更新的标记时,我看到“_version”被更新为2。 有没有办法查询ES并获取_version=1文档?这是不可能的。尽管每个创建/索引/更新/删除操作都有一个版本号,但此版本号不能用

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

put class/student/1
{
    "marks":95
}
稍后我想将其更新为:

put class/student/1
    {
        "marks":96
    }
当我索引更新的标记时,我看到“_version”被更新为2。
有没有办法查询ES并获取_version=1文档?

这是不可能的。尽管每个创建/索引/更新/删除操作都有一个版本号,但此版本号不能用于检索文档的旧版本。相反,当读取/操作/索引操作时,它可以用来防止脏读,你的意思是说ES不随旧版本文档的检索而来吗?如果我想回到旧版本的文档并检查必要的字段,那么我需要做什么?您需要自己维护版本。例如,为该行中的每个文档更改或其他内容创建一个新文档。另一种选择是在couchDB或其他具有版本控制支持的DB中维护文档,然后使用Elasticsearch进行搜索。因此,您需要将数据复制到两个数据库。