向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接口添加新字段的时候,影响到旧数据。不过,单独出一个接口处理旧数据也是很合理的。

参考:

相关推荐
千桐科技4 分钟前
DataX组件扩展、任务日志优化与部署能力完善,qData开源版数据中台V1.6.1版本解析!
大数据·开源·数据治理·开源项目·数据中台·qdata
汽车仪器仪表相关领域7 分钟前
ZDT‑I伺服电机测试系统:四象限动态加载
大数据·数据库·分布式·功能测试·汽车·压力测试·可用性测试
移动云开发者联盟26 分钟前
西部首个!移动云(西部)Token中心正式发布
大数据·人工智能
zhangfeng11331 小时前
CANN 社区任务提交 PR 踩坑与修复全记录(GitCode 平台)
大数据·elasticsearch·gitcode
Huazhongzhanhui1 小时前
2026武汉国际汽车线束及连接器工业展览会智能线束新地标
大数据·人工智能
Elasticsearch1 小时前
开启终端新体验:全新 Elastic CLI 实用指南(技术预览版)
elasticsearch
万维易源1 小时前
油价行情数据接口整理:国际原油与国内成品油
大数据·数据库·原油·油价
Elasticsearch2 小时前
Elasticsearch 9.5 跑在 5 年前的老 PC 上,日志硬扫每秒 343 万行
elasticsearch
TDengine (老段)2 小时前
TDengine 如何支撑金隅集团水泥业务的能源精细化管控
大数据·数据库·物联网·能源·时序数据库·tdengine·涛思数据
Leo.yuan2 小时前
FineDataLink 5.0 vs Great Expectations:数据质量治理工具深度横评,国产低代码方案能否替代开源标杆?
大数据·人工智能