Elasticsearch索引重建过程参考

满足条件可执行重建

索引字段类型错误,名称被占用

单个分片数据量大查询性能下降,增加分片数

单个分片容量超过50G,增加分片数

需修改索引类型type名称

 

重建过程说明

第一步先准备*.json索引结构脚本

第二步重建时,无用数据可以增加过滤条件

第二步全量数据迁移耗时较长时,执行完后可执行第四步时差迁移

第三步将索引别名test_index,由test_index_1删除,更换为test_index_2

第四步时差可自行调整,通过时间范围同步数据

_reindex 复制数据效率较好 推荐使用,也可以使用datax或其他工具同步数据

此同步过程,支持热迁移

 

重建过程

脚本示例:将别名为test_index 的索引test_index_1,重建为 test_index_2

第一步

新增加索引结构

curl -H "Content-Type:application/json" -X PUT :9200/test_index_2 -d @/test_index_2.json

第二步

执行索引数据-全量迁移

curl -H "Content-Type:application/json" -X POST :9200/_reindex -d '{"source":{"index":"test_index_1","size": 10000},"dest":{"index":"test_index_2"}}'

第三步

执行别名切换

curl -H "Content-Type:application/json" -X POST :9200/_aliases -d '{"actions":[{"add":{"index":"test_index_2","alias":"test_index"}},{"remove":{"index":"test_index_1","alias":"test_index"}}]}'

第四步

执行索引数据-时差迁移

curl -H "Content-Type:application/json" -X POST :9200/_reindex -d '{"conflicts":"proceed","source":{"index":"test_index_1","type":"test_index","query":{"range": {"updatetime": {"gte": "now-1d/d"}}}},"dest":{"index":"test_index_2","version_type": "external"}}'

第五步

完成...检查es索引数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdsgg.html