运维相关 · 2023年8月23日 0

Elastic的reindex和alias

可以直接使用kibana来执行操作

POST  _reindex?wait_for_completion=false
{
  "source": {
    "index": "old_index"
  },
  "dest": {
    "index": "new_index"
  }
}

可以查看进度,命令如下

GET _tasks?detailed=true&actions=*reindex

结果中的status.total是源索引的总数,status.created是新索引当前已经创建的数量

执行完成以后,需要将原有索引的别名删除并添加到新索引上

POST /_aliases
{
    "actions": [
        { "remove": { "index": "old_index", "alias": "alias_name" }},
        { "add":    { "index": "new_index", "alias": "alias_name" }}
    ]
}