1. 程式人生 > >solr build索引時commit與optimize的概念

solr build索引時commit與optimize的概念

大家都知道,solr在提交索引的時候有commit和optimize的概念,今天來分析一下:

commit

當你像solr提交索引更新時,只有運行了commit,索引才會發生變化。當然也並不意味著你每次提交都要commit,如果不是那麼緊急,你可以多次提交之後,再執行commit操作。

optimize

optimize有點像硬碟上整理磁碟碎片的操作。為了提高搜尋速度,它會將索引重組在一起,然後移除需要被刪除刪除或是更新的文件,請注意,solr是沒有update的這種操作的,只有增加與刪除。solr在優化時,將需要刪除或是被替換的索引標記為deleted,然後再建立新的文件替換掉需要被替換的。optimize就是執行此操作。所以在優化的時候,你的索引會增大,然後再減小。optimize操作會建立一個全新的的索引結構,所以,你需要預備出2倍於你commit時索引大小的空間。