使用Elasticsearch的head插件进行批量修改的方法:
POST { 索引名 }/{ 字段名 }/_update_by_query { "query": { "bool": { { 查询条件 } } }, "script": { "inline": " ctx._source.event['tag'] = 'initialize' " { 我这里是对_source里数据的event字段下的tag字段批量修改值为'initialize' } { 需要修改多个字段的话,写多个"inline"就好了 } } }
问题:如果执行命令时遇到这样的问题:
scripts of type [inline], operation [update] and lang [groovy] are disabled
原因:Elasticsearch对script元素的功能进行了限制,需要进行放行。
解决方法:
- 打开Elasticsearch的安装目录,找到配置文件 “elasticsearch.yml” ,进行编辑。
- 添加下边两行配置:
script.inline: on
script.indexed: on
如下所示:
- 保存后重启Elasticsearch,即可执行命令。