使用ElasticSearch的update_by_query进行更新具体如下
curl -XPOST 'http://localhost:9200/index/type/_update_by_query' -H 'Content-Type:application/json' -d'
{
"query": {
"bool": {
"must": {
"match": {
"_id": "01001#^@a"
}
}
}
},
"script": {
"inline": "ctx._source.tags = params.tags",
"params": {
"tags": [
"java干货",
"52upload",
"niocoder"
]
},
"lang": "painless"
}
}'
上面就是选出id为01001#^@a的记录,然后将该记录的tags属性改为系统传入的tags列表