首先,elasticsearch 并不支持修改mapping映射字段,无法直接修改,所以需要曲线救国。
步骤一:
新建一个索引,字段和原字段一致,只修改需要的字段。
步骤二:
把原数据给复制到新索引中。小规模数据可以直接用es内置的代码
POST _reindex
{
"source": {
"index": "metricbeat-*"(老的索引名)
},
"dest": {
"index": "metricbeat"(新的索引名)
}
}
数据量较大的话,建议使用代码分批量分段进行保存。最后删除原索引
步骤三:
可以给新索引直接起别名,别名为原索引名称,这样项目就不需要动就能继续正常使用。
也可以删除重建修改好的原索引,再把数据复制回去。