sql
-- mysql修改字段数据类型语句
ALTER TABLE `表名` MODIFY COLUMN `列名` 修改的字段类型;
-- hive 修改字段数据类型语句
ALTER TABLE 表名 CHANGE COLUMN 列名 修改的字段类型;
--es修改字段数据类型语句
无法通过一个语句进行修改。
思路:
1、对修改字段重新建修改类型的索引;
2、将旧索引数据导入新索引;
3、删除旧索引;
4、重复以上步骤。
示例:
原索引 :ads_assets_index_list_test_df 中index_value字段数据类型为float, 无法使用sort进行排序,现需要改成keyword。
步骤一:创建过渡索引
重新创建一个索引ads_assets_index_list_test00_df,index_value字段数据类型为keyword
步骤二:迁移数据
将旧索引的数据导入新索引
查询可以看到数据导入成功,原索引字段都存在且有数据
步骤三:删除旧索引
步骤四:重新建和旧索引同名的过渡索引
步骤五:重复步骤二三
修改成功:
注:es排序字段只能为keyword,这种方式修改完字段类型后,在使用sort时,不能按以下方式写,会报错:
查看mapping或者在选择字段的时候可以看到字段keyword的数据类型是keyword
因此,做以下修改就可以查出来了