向ES索引里面添加一个字段并更新旧文档数据

问题

最近需要调整ES索引,添加1个字段,并且,对旧文档数据更新新加的字段默认值。

解决思路

通过利用Update mapping API添加1个新字段后,然后,利用Update By Query API将向旧文档数据添加新加字段默认值。

添加字段

bash 复制代码
PUT dev_zyl/_mapping
{
  "properties": {
    "levelScore":  { 
      "type": "double",
      "null_value": 1
    }
  }
}

这里添加了一个levelScore字段,这个字段是double类型,默认值为1

更新旧文档

bash 复制代码
POST dev_zyl/_update_by_query
{
  "query": {
    "match_all": {}
  },
  "script": {
    "source": "ctx._source['levelScore'] = 1"
  }
}

这是查询出所有文档,然后,将levelScore字段设置为1

总结

现在这个时间点,ES不能通过在mapping接口添加新字段的时候,影响到旧数据。不过,单独出一个接口处理旧数据也是很合理的。

参考:

相关推荐
Guheyunyi15 小时前
无人机巡检系统,高效精准守护全场景安全
大数据·人工智能·科技·安全·架构·无人机
蓝耘智算15 小时前
Token经济学:读懂AI时代的“新石油”
大数据·人工智能·ai·token·蓝耘
HoneyMoose15 小时前
Jenkins 构建 VUE 前端提示 pnpm 错误
前端·vue.js·jenkins
上海达策TECHSONIC15 小时前
汽车零配件 SAP 转型数字化标杆 上海达策实施 SAP Business One 赋能汽车底盘转向领域
大数据·运维·人工智能·汽车·运维开发·制造
Thomas214315 小时前
pyspark 新接口 DataSource V2 写法 写入paimon为例
大数据·分布式·spark
武子康16 小时前
大数据-268 实时数仓-ODS 层 Flink+Kafka+HBase实时流处理:Kafka数据写入维度表实战
大数据·后端·flink
熬夜的咕噜猫16 小时前
LVS+Keepalived高可用群集
大数据·网络·数据库·mysql·mysql高可用
跨境摸鱼16 小时前
海外仓压力加大跨境卖家如何优化履约结构
大数据·人工智能·跨境电商·亚马逊·内容营销
葡萄城技术团队16 小时前
【Excel 公式学习】告别“&”时代:TEXTJOIN 函数的万能用法
大数据·人工智能
captain_AIouo16 小时前
Captain AI:破解OZON困局,赋能竞争优势
大数据·人工智能·经验分享·aigc