前言

我们都知道,在ES中一旦声明了字段名称,就不能对字段名称进行修改了。只能新增字段,不能删除、修改已经声明的mapping字段。
那么,如果我们需要修改mapping中的字段名称,需要怎么操作呢?


一、分析

不能直接修改原索引中的mapping字段,那么只能在新索引中重命名索引字段,然后将数据导入到新索引。
而ES中重建索引命令_reindex正好能很好的支持这一点。

官网说明:docs-reindex-change-name

二、实战

1、创建索引test并插入数据

POST test/_doc/1?refresh
{"text": "words words","flag": "foo"
}

2、通过reindex重命名字段名称

说明:
将原索引test中的字段flag重命名为tag

POST _reindex
{"source": {"index": "test"},"dest": {"index": "test2"},"script": {"source": "ctx._source.tag = ctx._source.remove(\"flag\")"}
}

3、查看结果

##根据id查看记录
GET test2/_doc/1
## 返回结果
{"found": true,"_id": "1","_index": "test2","_type": "_doc","_version": 1,"_seq_no": 44,"_primary_term": 1,"_source": {"text": "words words","tag": "foo"}
}

总结

本文主要介绍如何通过索引重建reindex+script脚本实现修改索引字段名称。

ES修改mapping中的字段名称相关推荐

  1. 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强

    如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先,事务MM03进入物料主数据的基本数据2视图中,将鼠标光标放在需要更改的字段"页格式&quo ...

  2. java json 修改字段_我们如何使用Java中的Jackson来更改JSON中的字段名称?

    杰克逊注释@JsonProperty上使用期间的属性或方法的序列或反串行化的JSON.它带有一个可选的' name '参数,当属性名称与JSON中的' key '名称不同时,该参数很有用.默认情况下, ...

  3. oracle查视图字段类型,oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。...

    需要获得一个视图中的字段名称.字段类型.字段长度等信息,该如何编写sql语句. 通过select * from user_views可以获得给定用户下所有的视图名称了,但是没找到如何获取视图结构的解决 ...

  4. 利用反射技术修改类中的字段(成员变量的反射)

    题目:利用反射技术修改类中的字段及成员变量的反射 作者:Vashon 一.首先定义一个类如下: class ReflectPoint {private int x; //私有的public int y ...

  5. oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。...

    需要获得一个视图中的字段名称.字段类型.字段长度等信息,该如何编写sql语句. 通过select * from user_views可以获得给定用户下所有的视图名称了,但是没找到如何获取视图结构的解决 ...

  6. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

  7. ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

  8. mysql修改表中某个字段的默认值

    Mysql中用SQL增加.删除字段,修改字段名.字段类型.注释,调整字段顺序总结 在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或 ...

  9. 在Python里通过Pandas和pymysql库批量修改MySQL数据库的字段名称和字段类型

    在Python做一个关键词排名处理程序的时候,使用Pandas将处理好的数据以pd.to_sql的方法写入MYSQL数据库,带有日期的字段名自动加了时分秒这样的"00:00:00" ...

最新文章

  1. mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始
  2. 得到win7 win8的桌面句柄
  3. phonegap for mac
  4. STM32F4读写内部FLASH【使用库函数】
  5. 请领导批阅文件怎么说_领导说“谢谢”,该怎么回?低情商才说不客气,高情商的都这样说!...
  6. 创业产品经理需要懂技术吗?
  7. java.io下载_java io 文件下载
  8. Drupal basic
  9. mybatis 原理_深入理解MyBatis原理 MyBatis数据源与连接池
  10. 打印php错误日志,php怎样打印错误日志
  11. 干货 | 机器学习在web攻击检测中的应用实践
  12. SQL Bulk Insert
  13. idea导出文件支持目录结构
  14. [ZZ] HD7970GE vs GTX770
  15. 要怎么在计算机里清除桌面内存,告诉你电脑内存怎么清理
  16. 已解决:系统更新报错KB3001652--错误0x80070643
  17. 基因家族鉴定分析实战操作手册
  18. 旁路和去耦电容 bypass decouple
  19. ajax加载txt文件,ajax读取txt文件
  20. 初学C语言的感受(张森)

热门文章

  1. 栈和队列的特点,什么情况下使用?
  2. 大学物理实验报告2——数字示波器的使用
  3. oracle中clob类型的使用
  4. 2017云栖大会参会感想
  5. python中元组前代*是什么意思
  6. Mac下将文件复制到移动硬盘
  7. 如果人工智能迎来下一个寒冬,你认为会是卡在什么问题上?
  8. 植物大战僵尸(Plants vs. Zombies)Mac版本
  9. 【Soul源码阅读】3.HTTP 用户接入 Soul 流程解析
  10. [SpringBoot]使用token 短信验证码 Redis的功能实现基本的登陆注册操作(含Redis token 验证码如何配置)