一、需求

当es字段类型无法支撑业务需求,需要修改到字段类型的时候。例如修改字段类型从Integer变成double,这种情况下,是没办法修改es的字段的type的。

原因是一个字段的类型进行修改之后,ES会重新建立对这个字段的索引信息,ElasticsSearch的底层是Lucene库,字段类型修改会涉及到分词方式,相关度,TF/IDF等倒排的生成 , 所以是没办法修改的了。

这种情况下,如何能兼容旧数据的同时,实现修改字段类型?

二、如何实现:es的reindex

实现原理:通过es的reindex功能把旧索引的数据reindex到新索引,然后为新索引建立旧索引的别名,最后删除旧索引。

下面以重构:idt-shelf-2265-index-202003下的 shelf_sub_job 中的Integer字段变为double为例子

新建一个索引:idt-shelf-2265-index-202003-temp(注:该索引下的数据表type和原索引保持一致。其中,新索引中的字段属性已修改为double)

执行reindex操作,把旧索引的数据复制到新索引:

POST _reindex

{

"source": {

"index": "idt-shelf-2265-index-202003"

},

"dest": {

"index": "idt-shelf-2265-index-202003-temp"

}<

es修改type名称_ElasticSearch如何修改索引字段相关推荐

  1. es修改type名称_ESLint 修改点整理

    ESLint 为团队和项目带来的益处,这里不多说,本文主要是个人近期修改项目代码一些错误修改整理的内容. 备注:尽量使用默认 Prettier 规则,根据实际情况略有调整.项目技术栈 React, R ...

  2. linux修改网卡名称(一般修改为eth0)(redHat7)

    方法/步骤: 1.首先将网卡配置文件名称重命名为eth0: cd /etc/sysconfig/network-scripts/mv ifcfg-eno1677736 ifcfg-eth0 2.其次编 ...

  3. excel修改服务器名称,云服务器 修改Excel

    云服务器 修改Excel 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 本节操 ...

  4. mysql修改存储过程名称的sql_修改SQL SERVER内置存储过程_mysql

    sqlserver估计是为了安装或者其它方面,它内置了一批危险的存储过程.能读到注册表信息,能写入注册表信息,能读磁盘共享信息等等--各位看到这儿,心里可能会在想,我的网站中有其它的代码,又不像查询分 ...

  5. 怎么批量修改图片名称?

    怎么批量修改图片名称?批量修改图片名称方法介绍!如果你是从事婚纱摄影的工作者,经常需要对拍摄好的照片(图片)进行批量重命名,让重命名之后的图片名称更加的规范而且有规律,这样有利于对照片(图片)进行管理 ...

  6. mysql 修改表列名称_MYSQL数据库- 修改数据表名称、列名称

    目录 一.修改列定义(modify col_name) 二.修改列类型(modify col_name) 三.修改列名称(change col_name) 三.修改表名称(rename table a ...

  7. PostgeSQL修改数据库名称

    PostgeSQL修改数据库名称 修改数据库名称 环境说明 修改条件 执行操作 修改数据库名称 背景:有时有备份数据库,有时修改其名字加上日期之类的 环境说明 数据库版本:11.9 部署环境:cent ...

  8. es如何修改es索引字段类型 reindex

    今天因为上线之前,忘记提单先把es的索引新增的几个字段先建好,导致需求上线后,一些触发推送到es的数据,使得es自动根据数据类型创建索引字段类型,原本我打算增加的mapping字段是数组keyword ...

  9. Java批量修改文件名称(十四)

    古语有云: 万恶淫为首,百善孝为先. 我们后辈当自勉. 上一章简单介绍了Properties 类的详细使用(十三),如果没有看过,请观看上一章 一.批量修改文件名称 在生活和工作中,常常会遇到批量修改 ...

最新文章

  1. 第十四课 如何在DAPP应用实现自带钱包转账功能?
  2. 在python中使用csv库以字典格式读写csv文件
  3. pm_bout_1/2_on_subway
  4. 2064: 分裂 - BZOJ
  5. 2018年,你想从InfoQ获取什么内容?丨Q言Q语
  6. [Leedcode][JAVA][第85题][第221题][最大正方形][动态规划]
  7. LeetCode 1151. 最少交换次数来组合所有的 1(滑动窗口)
  8. Nat. Biotechnol. | 利用深度学习从基因转录数据中预测药物疗效
  9. OpenJudge 2810(1543) 完美立方 / Poj 1543 Perfect Cubes
  10. Win10系列:C#应用控件基础7
  11. window.postMessage 跨窗口,跨iframe javascript 通信
  12. window下搭建linux虚拟机
  13. 英寸和厘米的交互python_Python / PyQt4:如何找到显示器的尺寸(以英寸为单位)?...
  14. coreos_CoreOS简介
  15. 5-1. 约分最简分式(15)
  16. 永福读《天才在左,疯子在右》
  17. 从零开始的Linux 阿里云ECS服务器搭建、FileZilla和宝塔
  18. OMRON NJ501-1520真实项目程序 欧姆龙NJ做的程序27轴+110个气缸+1个机械手
  19. 【源码】用主应力线(应力可视化)研究二维应力场
  20. Unraid 安装百度网盘

热门文章

  1. junit runner_了解JUnit的Runner架构
  2. Java 10及更高版本的思考
  3. jvm 性能_JVM性能魔术
  4. WildFly Kubernetes exec探针
  5. 如何在Hibernate Search 5.5.2 / Apache Lucene 5.4.x中处理停用词?
  6. java自建ocr完整示例_Java 7:完整的invokedynamic示例
  7. 代码挑战“ Vrolijke Framboos”事后验尸
  8. 21世纪的设计模式:抽象工厂模式
  9. 自定义汇编程序,Weaver和运行时的可插拔知识
  10. JArchitect v4.0发布