es關閉不使用的index、真正刪除文檔


因為只要索引處於open狀態,就會占用內存+磁盤;

如果將索引close,只會占用磁盤

Curl -XPOST ‘hadoop01:9200/index/_close’

 

------

在es中刪除文檔,數據不會馬上在硬盤上刪除,而是在es索引中產生一個.del 文件;

並且es在檢索過程中也會把.del文件進行檢索(因為都是當前下的索引片段),然后es在把標記有.del的文檔進行過濾;【這並沒有提高檢索的效率】

實際上如果當前有大量的.del文件,我們應該讓.del真正的從es中抹去,這樣就優化了檢索的效率,不至於檢索后在過濾

什么時候真正刪除.del文件?

在索引合並階段就會刪除.del文件,所以可以執行以下命令清楚.del文件:

Curl -XPOST ‘http://hadoop01:9200/my_index/_forcemerge?only_expunge_deletes=true

 

Java客戶端操作:

Client.admin().indices().prepareForceMerge(“my_index”).setOnlyExpungeDeletes(true).get();


免責聲明!

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



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