操作目标:

将 ruleId=77的 document 进行部分字段的更新,具体内容包括:

  • ruleTemplateId=39 (原来没有这个字段)
  • ruleCheckObject=’phonenumber’ (原来没有这个字段)
  • users=[“user1”, “user2”] (原来的字段是 users=”user1,user2”) , 将逗号分割的字符串,换成 数组。

    手动简单方式

    1. POST dam_quality_rule_metric_alert/_update_by_query
    2. {
    3. "query": {
    4. "term": {
    5. "ruleId": 77
    6. }
    7. },
    8. "script": {
    9. "source": "ctx._source['ruleTemplateId']=39;ctx._source['ruleCheckObject']='phonenumber';List aaaa = new ArrayList(); aaaa.add('user1');aaaa.add('user2');ctx._source['users']=aaaa;"
    10. }
    11. }

    使用外置参数的(代码)方式:

    1. POST dam_quality_rule_metric_alert/_update_by_query
    2. {
    3. "query": {
    4. "term": {
    5. "ruleId": 77
    6. }
    7. },
    8. "script": {
    9. "source": "ctx._source['ruleTemplateId']=param.id;ctx._source['ruleCheckObject']='phonenumber';List aaaa = new ArrayList(); aaaa.add('user1');aaaa.add('user2');ctx._source['users']=aaaa;",
    10. "lang": "painless",
    11. "params" : {
    12. "tag" : "blue",
    13. "id": 39
    14. }
    15. }
    16. }