我们犯了一些错误,把一个带有重音的字段。因此,该字段包含é
,我们希望将其更新为e
。
我们正在使用Elasticsearch 1.5。我们可以运行一个查询来一次更新所有文档,还是需要查询所有文档并使用Elasticsearch lib更新所有文档?
我们正在使用node.js
答案 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'"
}'