操作目标:
将 ruleId=77的 document 进行部分字段的更新,具体内容包括:
- ruleTemplateId=39 (原来没有这个字段)
- ruleCheckObject=’phonenumber’ (原来没有这个字段)
- users=[“user1”, “user2”] (原来的字段是 users=”user1,user2”) , 将逗号分割的字符串,换成 数组。
手动简单方式
POST dam_quality_rule_metric_alert/_update_by_query{"query": {"term": {"ruleId": 77}},"script": {"source": "ctx._source['ruleTemplateId']=39;ctx._source['ruleCheckObject']='phonenumber';List aaaa = new ArrayList(); aaaa.add('user1');aaaa.add('user2');ctx._source['users']=aaaa;"}}
使用外置参数的(代码)方式:
POST dam_quality_rule_metric_alert/_update_by_query{"query": {"term": {"ruleId": 77}},"script": {"source": "ctx._source['ruleTemplateId']=param.id;ctx._source['ruleCheckObject']='phonenumber';List aaaa = new ArrayList(); aaaa.add('user1');aaaa.add('user2');ctx._source['users']=aaaa;","lang": "painless","params" : {"tag" : "blue","id": 39}}}
