沙师弟,师父的充电器掉了

es7.1更改index的字段类型

Elasticsearch | 作者 jhondom | 发布于2020年03月12日 | 阅读数:5673

【问题】:es7.1按照日期每天产生一个索引, index => "autonon-%{+YYYY.MM.dd}".由于分析需要改变其中一个字段的类型,由string类型改为interger类型。目前的做法是通过reindex更改mapping:
1.按照新的字段类型mapping创建一个新的index(B)
2.通过reindex把原index(A)的数据迁移到index(B)上。
3.删除index(A)
4.按照新的字段类型mapping创建index(A)。
5.通过reindex把index(B)数据迁移到index(A)上。
出现的问题:
1)第四步中按新的mapping创建auto-*的index报错。提示:

QQ截图20200312100352.png


QQ截图20200312101722.png


如果index中不含通配符*是可以创建成功的。

2)如果不按照通配符来创建新的mapping,使用现有的index创建新的mapping,是可以成功。哪疑问是后面按天新产生的index的字段还是按照原来的mapping类型,没有改变。
是支持通配符定义mapping吗?请教下这个问题怎么解决?
 
 
已邀请:

liuxg - Elastic

赞同来自: jhondom

你试过https://www.elastic.co/guide/e ... .html index template了吗?
另外你reindex完后,不必要把Index B拷回到Index A,你可以直接使用一个index alias来完成。https://www.elastic.co/guide/e ... .html

yangruideyang

赞同来自: jhondom

模板方式匹配B类索引名

jhondom

赞同来自:

谢谢,已经通过template解决了。但是通过reindex这样还是不行.

要回复问题请先登录注册