【发布时间】:2016-08-19 21:05:59
【问题描述】:
有没有办法更新elasticsearch中的所有数据。
在下面的示例中,为外部“1”完成了更新。
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d '
{
"doc": { "name": "Jane Doe", "age": 20 }
}'
同样,我需要在外部更新我的所有数据。有什么方法或查询来更新所有数据。
【问题讨论】:
-
这个答案应该会有所帮助:stackoverflow.com/questions/38636348/… 如果您运行的是 ES 1.3.2,则需要预先安装 update-by-query 插件并重新启动集群
-
val 在上面的链接中,它们替换了名称。在这里,我需要在所有外部添加额外的字段(“状态”:“完成”),为此我需要做的。
-
您可以在脚本中进行许多更改,例如添加新字段、更改现有字段和删除现有字段。
-
我尝试了以下查询 curl -XPOST 'localhost:9200/tellofy/brand/_update_by_query' -d ' { "script" : "ctx._source.brandprivacy = "false"" }' 我面临以下问题error {"error":"UnavailableShardsException[[tellofy][2] 主分片未激活或未分配给已知节点。超时:[1m],请求:索引 {[tellofy][brand][_update_by_query], source[\n{\n \"script\" : \"ctx._source.brandprivacy = \"false\"\"\n}]}]","status":503}> 你对上面有什么建议吗错误
-
你的双引号太多了,试试这个:
curl -XPOST 'localhost:9200/customer/external/_update_by_query' -d ' { "script" : "ctx._source.brandprivacy = false" }'
标签: elasticsearch elasticsearch1.3.2