是时候用 ES 拯救发际线啦

es 多层级数据批量修改问题

Elasticsearch | 作者 jianfaith | 发布于2020年04月02日 | 阅读数:3803

数据结构如下图:

QQ20200402-0.png

 
要执行语句如下

QQ20200402-1.png

 
执行结果如下:

WX20200402-170412.png

 
请问应该怎么执行,烦请大佬。
 
已邀请:

jianfaith - 90后 大数据

赞同来自:

大家有什么好办法吗,我要根据条件批量修改数据。

God_lockin

赞同来自:

libIds[0].status=0
修改第一个
 
遍历修改之类的可以考虑script里用stream配合filter做修改
 

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

《干货 | Elasticsearch Nested类型深入详解》,https://blog.csdn.net/wojiushi ... 3Dapp

jianfaith - 90后 大数据

赞同来自:

感谢上面两位大佬 ,贴一下实现。
POST twinslator/corpus/_update_by_query
{
    "script":{
    "source": "for(item in ctx._source.libIds) {if (item.libId == 1003 ) {item.status = 5}} ",
    "lang": "painless"
  },
  "query": {
    "term": {
      "libIds.libId": {
        "value": "1003"
      }
    }
  }
}
}
 

要回复问题请先登录注册