一、前言
1、es单索引表数据量过大,数据入库较慢,索引的分片数量不足,需要扩大分片的数量,因此需要重建索引
2、mapping修改时,在ES中,一个字段的mapping在定义并且导入数据之后是不能修改的,因此需要重建索引
二、步骤
目录
1、给重建索引起别名
POST /_aliases
{
"actions": [
{
"add": {
"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06",
"alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06-1"
}
}
]
}
2、新建索引
PUT /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs
{
"mappings" : {
"properties" : {
"_timestamp_long_" : {
"type" : "long"
},
"channelid" : {
"type" : "keyword",
"ignore_above" : 256
},
"deviceId" : {
"type" : "keyword",
"ignore_above" : 256
},
"eid" : {
"type" : "keyword",
"ignore_above" : 256
},
"ename" : {
"type" : "keyword",
"ignore_above" : 256
},
"ip" : {
"type" : "keyword",
"ignore_above" : 256
},
"jmubaId" : {
"type" : "keyword",
"ignore_above" : 256
},
"platformName" : {
"type" : "keyword",
"ignore_above" : 256
},
"siteid" : {
"type" : "keyword",
"ignore_above" : 256
},
"sitename" : {
"type" : "keyword",
"ignore_above" : 256
},
"time" : {
"type" : "date",
"format" : "yyyy-MM-dd||epoch_millis"
},
"timeHour" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss||epoch_millis"
},
"timeSecond" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss||epoch_millis"
},
"triggerTime" : {
"type" : "double"
},
"userIp" : {
"type" : "keyword",
"ignore_above" : 256
},
"userid" : {
"type" : "keyword",
"ignore_above" : 256
},
"username" : {
"type" : "keyword",
"ignore_above" : 256
},
"version" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"settings" : {
"number_of_shards" : 5,
"number_of_replicas" : 1
}
}
3、查看新建立的mapping
GET /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs
4、同步数据到新的mapping
POST /_reindex
{
"source": {
"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06"
},
"dest": {
"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs"
}
}
5、查看同步进度
GET _tasks?detailed=true&actions=*reindex&human
6、移除老表别名
POST /_aliases
{
"actions": [
{
"remove": {
"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06",
"alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06-1"
}
}
]
}
7、删除老表--删除前备份
DELETE /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06
8、新索引添加别名(别名为原就索引名)
POST /_aliases
{"actions":[
{
"add": {
"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs",
"alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06"
}
}
]
}
9、方法二
旧表数据同步至新索引表,删除旧表,新索引表的别名为旧索引表名