55.內核原理探祕_最後優化寫入流程實現海量磁盤文件合併(segment merge,optimize)

每秒一個segment file,文件過多,而且每次search都要搜索所有的segment,很耗時
默認會在後臺執行segment merge操作,在merge的時候,被標記爲deleted的document也會被徹底物理刪除

每次merge操作的執行流程

(1)選擇一些有相似大小的segment,merge成一個大的segment
(2)將新的segment flush到磁盤上去
(3)寫一個新的commit point,包括了新的segment,並且排除舊的那些segment
(4)將新的segment打開供搜索
(5)將舊的segment刪除

 

merge操作的執行流程圖解

可以手動執行合併:POST /my_index/_optimize?max_num_segments=1儘量不要手動執行,讓它自動默認執行就可以了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章