Elasticsearch 批量更新
准备条件
以下查询操作都基于索引crm_flow_info来操作,索引已经建过了,本文主要讲Elasticsearch批量更新指定字段语句,下面开始写更新语句执行更新啦!
查询数据
查询指定shiftId为113的数据
powershell
GET crm_flow_info/_search
{
"query": {
"term": {
"shiftId": 113
}
}
}
查询结果
批量更新
批量更新shiftId为113的数据的remark字段内容为 test2023,执行命令
powershell
POST crm_flow_info/_update_by_query
{
"query": {
"match": {
"shiftId": 113
}
},
"script": {
"source": "ctx._source['remark'] = 'test2023'"
}
}
执行结果如图
我们再来查询一下更新后的效果来验证一下批量更新是否成功
powershell
GET crm_flow_info/_search
{
"_source": ["shiftId","remark"],
"query": {
"term": {
"shiftId": 113
}
}
}
查询结果
可以看到我们已经成功更新了字段remark的值数据,其中 "_source": ["shiftId","remark"] 表示查询索引中指定这两个字段,因为字段太多的话不利于快速的观察结果,这里指定一下查询字段方便观察数据更新情况。