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 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索引數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM