🗒️_reindex 数据迁移|迁移索引

type
status
slug
date
summary
tags
category
password
icon

注意

内容为学习使用,并未在生产环境实践过
本文列举情况应该是网络上面比较详细的,并修复来源文章的部分错误
 

简介

新增字段,还算比较简单,只需要在原来的mapping基础之上再新增字段即可;
更改字段类型就需要用到_reindex 重建索引了

迁移原因

  1. 分片调整
  1. 文档字段类型改动
  1. 切换实例

全量迁移

数据源索引不再有任何变化,即没有文档的增、删、改,则可以通过全量数据迁移

非别名情况

  1. 创建中间索引:新建一个临时索引,用于过渡数据。
  1. 第一次数据迁移:将原索引case_index的数据复制到新建的new_case_index索引。
  1. 删除原索引并重新创建:删除test_index索引,然后重新创建test_index索引,并在创建时将字段更新为期望的类型。这样,新创建的test_index索引就具备了正确的字段类型,但此时还没有数据。
  1. 第二次数据迁移并清理中间索引:再次使用_reindextest_index_copy索引中的数据迁移回test_index索引

别名

刷新数据

刚迁移完看不到数据先刷新一下

增量迁移

在_reindex期间,或者 reindex 之后,切换别名之前数据
自建的ES索引存在数据更新或是写入了新数据,且没有数据被删除,则可以通过增量数据迁移的方式完成数据迁移任务。
 
  1. 先全量,然后记录最新一次 reindexFinish 时间
  1. 启动增量脚本

文章

上一篇
Git 系列问题
下一篇
Apollo配置中心搭建
Loading...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP