0

我想知道是否有办法在过滤掉弹性搜索文档后更新它们。

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

[
  { "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 中做这种事情?

4

1 回答 1

2

从您提供的链接:

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

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

于 2015-01-08T13:44:35.987 回答