使用自定义的id字段将数据插入到来自多个数据源的es中。我想确认是否与es发生冲突。经过一番研究,我想也许我们可以使用条件_version> 1找到它。但毕竟我无法查询_version字段,欣赏它的任何想法。感谢。
答案 0 :(得分:1)
无法搜索它。它没有按目的编制索引,并且通常会在其中包含一些短暂的信息,因此搜索它可能并不理想。
如果您没有太多文档,可以使用滚动并使用以下内容取回文档:
{
"query": {
"match_all": {}
},
"version": true,
"_source": false
}
如果你有Elasticsearch 1.x,也许这可以通过脚本实现,但是使用2.x和5.x这是不可能的。
答案 1 :(得分:1)
你应该在你的写操作上使用optimistic concurrency control来查明是否发生了碰撞,但是在你的写入发生之后却没有,这听起来也很危险。
如果您知道自己一直在更新不同的部分,请查看Update API。特别是与retry_on_conflict
参数结合使用。