刚刚发现Elasticsearch具有文档版本控制功能。真棒!真正
但是,比较文档的不同版本并提取所有差异的正确方法是什么。是否存在可用的查询,或者我是否必须在业务逻辑中执行此操作?
答案 0 :(得分:27)
elasticsearch默认跟踪_version
字段中索引文档的版本。这意味着第一次索引文档时它将获得版本1,并且每次更新它时它的版本都会递增。
这并不意味着elasticsearch会保留文档的所有版本。
该版本非常方便,特别是如果您需要执行乐观锁定。假设您获得了一个文档并且想要更新它,您可以确保更新该文档的相同版本,而不是其他可能由并发更新生成的版本(这可能发生在您的get和您的更新之间)
您可以查看this blog了解更多信息并在实践中查看。