有没有办法在Elasticsearch 1.5中通过查询更新所有文档?

时间:2016-08-22 23:02:06

标签: javascript elasticsearch

我们犯了一些错误,把一个带有重音的字段。因此,该字段包含é,我们希望将其更新为e

我们正在使用Elasticsearch 1.5。我们可以运行一个查询来一次更新所有文档,还是需要查询所有文档并使用Elasticsearch lib更新所有文档?

我们正在使用node.js

1 个答案:

答案 0 :(得分:2)

如果您运行的是ES 1.5,则可以安装update-by-query插件,如下所示:

bin/plugin -install com.yakaz.elasticsearch.plugins/elasticsearch-action-updatebyquery/2.5.1

完成后,您可以重新启动ES服务器,并运行以下查询:

curl -XPOST 'localhost:9200/your_index/_update_by_query' -d '{
    "query" : {
        "match_all" : {}
    },
    "script" : "ctx._source.field = 'foo'"
}'