ES中删除索引的mapping字段时应该考虑的点

  1. 创建新索引
  2. 新索引创建新mapping
  3. 原索引导出数据到新索引
  4. 新索引创建原索引一致的别名
  5. 删除原索引

针对于第四步:这个就要用到索引别名了,如果你最开始建索引的时候没有考虑设计索引别名,那就杯具了。
你可以把索引的名称设置成name_v1   别名设置为name,然后代码里面访问搜索的时候连接的其实是别名name;
这样当你以后索引结构调整需要重新创建的时候,就可以在新建一个索引name_v2,然后把数据初始化完成之后,把原来索引的别名去掉,把name_v2的别名设置成name,这样代码就不用改动了。

点赞
收藏

评论区

加载中...

相关推荐

SQL脚本优化

1.创建索引一.要尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引 (1)在经常需要进行检索的字段上创建索引,比如要按照表字段username进行检索,那么就应该在姓名字段上创建索引,如果经常要按照员工部门和员工岗位级别进行检索,那么就应该在员工部门和员工岗位级别这两个字段上创建索引。 (2)创建索引

ES添加字段

背景Elasticsearch是schemaless的数据存储方案。可以任意的向索引中添加字段。在此需明确以下背景:1.ES新添加的字段只对新数据、新type起作用;原有已经索引的数据不会生效;2.为加快ES的检索和索引效率,构建索引时会指定其mapping结构;添加索引字段即修改mapping;3.目前我们采用两种索引方案

MySQL索引类型

一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATETABLEtable_namecol_namedatatypeunique|fulltextindex|keyindex_name(c

Elasticsearch Index Aliases详解

微信公众号:\中间件兴趣圈\作者简介:《RocketMQ技术内幕》作者;indexaliases,索引别名,有点类似名称映射,一个索引别名可以映射多个真实索引,索引别名在定义时还支持filter,构成同一个索引,不同的视图。思考:一个索引别名可以映射成多个索引,那如果向一个别名添加一个文档时,会在该别名下对应的所有索引下都

MySQL索引的索引长度问题

MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制。在MyISAM表中,创建组合索引时,创建的索引长度不能超过1000,注意这里索引的长度的计算是根据表字段设定的长度来标量的,例如:createtabletest(idint,name1varchar(300),name2varchar(300),nam

MySQL数据库索引管理————(增删改查)

索引的概念数据库建立索引的原则查看索引语法格式示例显示信息蚕食描述普通索引概述创建普通索引创建方式示例删除索引删除索引的方式示例

ES中删除索引的mapping字段时应该考虑的点 - HelloWorld