【问题】: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报错。提示:
如果index中不含通配符*是可以创建成功的。
2)如果不按照通配符来创建新的mapping,使用现有的index创建新的mapping,是可以成功。哪疑问是后面按天新产生的index的字段还是按照原来的mapping类型,没有改变。
是支持通配符定义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报错。提示:
如果index中不含通配符*是可以创建成功的。
2)如果不按照通配符来创建新的mapping,使用现有的index创建新的mapping,是可以成功。哪疑问是后面按天新产生的index的字段还是按照原来的mapping类型,没有改变。
是支持通配符定义mapping吗?请教下这个问题怎么解决?
3 个回复
liuxg - Elastic
赞同来自: jhondom
另外你reindex完后,不必要把Index B拷回到Index A,你可以直接使用一个index alias来完成。https://www.elastic.co/guide/e ... .html
yangruideyang
赞同来自: jhondom
jhondom
赞同来自: