- 在日常开发中,可能会疏忽而未指定字段类型,而es会默认根据插入的数据去映射有可能不符合你期望的类型,从而导致后续的某些问题。由于ElasticSearch不支持直接修改字段类型, 因此需要借助中间索引并搭配_reindex来重新索引数据
操作步骤
- 创建中间索引
- 设置中间索引_mapping
- _reindex 重新索引数据
- 删除有问题的旧索引
- 重新创建同名新索引(_mapping中字段类型正确)
- _reindex 中间索引数据至新索引
- 删除中间索引
# 创建中间索引
PUT asr_202203_back/
# 创建Mapping
POST asr_202203_back/asr/_mapping
{
"asr": {
"_source": {
"enabled": true
},
"properties": {
"callId": {
"type": "keyword"
},
"fileName"