将下文中的 老索引名 替换成你自己的索引即可
#1查询索引结构
GET 老索引名/_mapping
#2、备份老索引到备份索引-老结构
PUT 老索引名_old
{
"mappings" : {
"properties" : {
"_class" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"userId" : {
"type" : "long"
}
}
}
}
#3、创建新索引结构-新结构
PUT 老索引名_1
{
"mappings" : {
"properties" : {
"_class" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"userId" : {
"type" : "long"
}
}
}
}
#4、ES数据【备份】到老索引
POST /_reindex
{
"source": {
"index": "老索引名"
},
"dest": {
"index": "老索引名_old"
}
}
# 5、ES数据拷贝到新索引
POST /_reindex
{
"source": {
"index": "老索引名"
},
"dest": {
"index": "老索引名_1"
}
}
# 6、ES查询数据数量 确保已成功迁移数据
GET 老索引名/_count
GET 老索引名_old/_count
GET 老索引名_1/_count
#7、删除最原始索引 否则下一步起别名不成功
DELETE /老索引名
#8.给新索引创建别名-以免影响生产
POST /_aliases
{
"actions": [{
"add": {
"index": "老索引名_1",
"alias": "老索引名"
}
}]
}
# 9验证是否走的新索引 老索引名_1
GET 老索引名/_search
GET 老索引名_1