我想知道是否有一种方法可以在过滤出来后更新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中做这种事情?
答案 0 :(得分:2)
从您提供的链接:
请注意,在撰写本文时,更新只能在a上执行 单个文档一次。将来,Elasticsearch将提供 在给定查询条件的情况下更新多个文档的能力(如 SQL UPDATE-WHERE语句)。
所以,目前不支持此功能。但你可以考虑看看这个插件:https://github.com/yakaz/elasticsearch-action-updatebyquery/。