滿足條件可執行重建
- 索引字段類型錯誤,名稱被占用
- 單個分片數據量大查詢性能下降,增加分片數
- 單個分片容量超過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 http://127.0.0.1:9200/test_index_2 -d @/test_index_2.json
第二步
執行索引數據-全量遷移
curl -H "Content-Type:application/json" -X POST http://127.0.0.1:9200/_reindex -d '{"source":{"index":"test_index_1","size": 10000},"dest":{"index":"test_index_2"}}'
第三步
執行別名切換
curl -H "Content-Type:application/json" -X POST http://127.0.0.1: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 http://127.0.0.1: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索引數據