InfoQ: Lucene 2.3:大幅提升索引性能,新增機器學習項目
Ingersoll認為這次的版本中最大的變化是新的索引算法,它使用了新的in-memory模型來達到大幅的速度提升。據Ingersoll 說,單單是把Lucene 2.2 JAR換成Lucene 2.3 JAR就能在某些測試中把索引性能提速500%。其他改變還包括:
- 改進的索引管理——以前在索引過程中,當合併內部索引文件時偶爾會出現長時間的停頓,現在已經消滅了這種現象。另外現在也更容易實現其他途徑去管理索引過程。
- 對象池——
Document、Field和Token的實例現在可在索引分析中重用,因此不但提升了分析的速度,還減少了索引過程中的內存分配次數。
- 重新打開IndexReader ——重新打開一個IndexReader去捕捉索引中最新的變化,這個操作的速度現在也更快了,新的reopen()方法只會加載那些變更過的索引片斷,而不是重新加載完整的索引。
- 更簡易的IndexWriter微調——
setMaxBufferedDocs已被更直觀的setRAMBufferSizeMB所取代。另外,2.3的目標是只需通過文件替換就能換下2.2,完全不需要重新編譯。這裡是完整的更新說明。
沒有留言:
發佈留言