索引数据迁移

集群内部索引迁移,从一个索引迁移数据到另一个索引里

1. 创建新索引

新索引与就索引结构保持一致
通过就索引_mapping _setting 获取配置和结构信息 然后创建新索引
需要注意 添加如下配置

"settings": {
    "number_of_replicas": 0,    
    "number_of_shards": 3,
    "refresh_interval": "-1"
  }
  • 设置number_of_replicas为0防止我们迁移文档的同时又发送到副本节点,影响性能
  • 设置refresh_interval为-1是限制其刷新。默认是1秒
  • 当我们数据迁移完成再把上面两个值进行修改即可

2. 迁移数据

POST _reindex
{
  "source": {
    "index": "old_index",
    "size":1000   //可选,每次批量提交1000个,可以提高效率,建议每次提交5-15M的数据
    "query": {}  // 可选, 不写的默认是全量数据迁移 写上条件就是选择性迁移数据
   },
  "dest": {
    "index": "new_index"
  }
}

3. 恢复索引设置

PUT /new_index/_settings
{
  "refresh_interval": "1s",
  "number_of_replicas": 2
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐