一、新建索引,且声明新索引mapping。
二、设置新索引副本为0、刷新间隔为-1(不刷新),提升reindex速度。
三、异步、多线程、批量执行reindex。
四、获取reindex任务详情,等待reindex结束后,恢复新索引副本为1、刷新间隔为1秒。
GET /old/_mapping
GET /old/_settings
GET /new/_mapping
GET /new/_settings
DELETE /new
PUT /new
{
"mappings": {
"properties": {
"myParam1": {
"type": "object",
"dynamic": false
},
"myParam2": {
"dynamic": false,
"properties": {
"userId": {
"type": "keyword"
},
"email": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
},
"myParam3": {
"type": "keyword"
}
}
}
}
PUT /new/_settings
{
"number_of_replicas": 0,
"refresh_interval": -1
}
GET /old/_count
GET /new/_count
POST _reindex?slices=20&refresh&wait_for_completion=false
{
"source": {
"index": "old",
"query": {
"range": {
"armorTime": {
"gte": 1648742400000
}
}
},
"size": 5000
},
"dest": {
"index": "new"
}
}
GET /_tasks/0RBML0y8RemYzn0RhQOX_w:1110565671
PUT /new/_settings
{
"number_of_replicas": 1,
"refresh_interval": "1s"
}