在elasticsearch中更新过滤的文档

时间:2015-01-08 12:36:39

标签: elasticsearch spring-data-elasticsearch nosql

我想知道是否有一种方法可以在过滤出来后更新elasticsearch文档。

假设我有一个包含以下文档的用户集合:

[
  { "name":"u1","age":23},
  { "name":"u2","age":31},
  { "name":"u3","age":27},
  { "name":"u4","age":33}
]

现在我需要做的是更新年龄超过30岁的所有用户的名字。 查看大量文档并在google上搜索数小时,包括以下文档 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_updating_documents.html

我无法找到办法。因此,如果我们查看文档,我们将提供文档的ID,因此它不能满足我的需求。有没有办法在Elasticsearch中做这种事情?

1 个答案:

答案 0 :(得分:2)

从您提供的链接:

  

请注意,在撰写本文时,更新只能在a上执行   单个文档一次。将来,Elasticsearch将提供   在给定查询条件的情况下更新多个文档的能力(如   SQL UPDATE-WHERE语句)。

所以,目前不支持此功能。但你可以考虑看看这个插件:https://github.com/yakaz/elasticsearch-action-updatebyquery/