有个需求是将es的一个date类型的字段改为string类型,经查阅资料发现es不支持直接修改字段类型,只能将原索引结构复制出来,然后单独修改某个字段的类型后,再去新建一个索引将这个结构填充进去,填充完复制原索引数据到新索引,进而使用新的索引(也可以删掉老的索引,将新的索引改名为之前的索引)。
以下是步骤:
1.本人用的双核浏览器,可以直接下载elasticsearch-head插件进而界面化,可以参照文章:
https://blog.csdn.net/Weixing108/article/details/127807515
2.复制出原来索引的结构:
全选完后只保留mappings部分和最外层大括号。
2.创建新的索引,并初始化索引结构:
https://ip地址:端口/新索引名称?include_type_name=true
请求方式:PUT,参数是索引的mapping信息,示例:
这种在postmoan等工具上也可以实现,其中include_type_name=true是必加的,不然验证不过去。
3.接下来就是复制老的索引数据到新的索引里:
https://ip地址:端口/_reindex
请求方式:post,参数:
{
"source": {
"index": "原来索引名称"
},
"dest": {
"index": "要copy数据到的目标索引名称"
}
}
示例图片:文章来源:https://www.toymoban.com/news/detail-464334.html
以上就完成了。文章来源地址https://www.toymoban.com/news/detail-464334.html
到了这里,关于ES修改字段类型(elastic)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!