问题:
ES使用过程中可能会遇到需要修改字段类型的场景,但是ES并没有提供支持该操作的命令
解决思路:
- 新建一个索引,包含修改后字段类型
- 利用reindex命令将旧索引上的数据同步到新索引上
POST http://{{es_ip}}:9200/_reindex
{
"source": {
"index": "leads_archives",
"_source": ["_class", "accountName"] //需要同步的字段集合
},
"dest": {
"index": "leads_archives_new"
}
}
- 删除旧索引
- 将旧索引的名称作为新索引的别名(这一步采用别名属于偷懒的做法,也可以选择重建旧索引,再将新索引的数据同步到新建的旧索引上)