elasticsearch获取_version的所有文档> 1

时间:2017-07-10 09:54:39

标签: elasticsearch

使用自定义的id字段将数据插入到来自多个数据源的es中。我想确认是否与es发生冲突。经过一番研究,我想也许我们可以使用条件_version> 1找到它。但毕竟我无法查询_version字段,欣赏它的任何想法。感谢。

2 个答案:

答案 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参数结合使用。