調整索引索引效能
在乙個典型的索引應用中,程式效能的瓶頸存在於將索引檔案寫入磁碟的過程中。如果你曾經分析過索引過索引應用程式,應該會發現執行程式大部分時間都消耗在操作索引檔案的程式段上,因此我們必要使lucene索引新物件和修改索引檔案時變得更智慧型。
當新的document物件新增到lucene的索引裡時,它們最初將被快取在記憶體中,而不是立刻寫入到磁碟。這個快取操作的目的是提高效能:而且值得慶幸的是,indexwriter提供了幾個變數,用於調節快取的大小,和寫入磁碟的頻率。
indexwriter引數
系統屬性
預設值描述
mergefactor
org.apache.lucene.mergefactor
10控制合併的頻率和大小
maxmerrgedocs
org.apache.lucene.maxmergedocs
interger.max_value
限制每個段的文件數量
minmergedocs
org.apache.lucene.minmergedocs
10控制索引時使用總量
需要說明的就是,mergefactor和minmergedocs的值只會在一定程度上提高索引速度。值越大,占用的記憶體也越多,如果設定的值過大可能會導致索引程序耗盡所有的記憶體。
ramdirctory和fsdirectory的對比發現前者總是比後者效能優越
lucene學習筆記
public class luceneadd catch exception e public class lucenesearch public static void main string args file indexdir new file d index try 在磁碟中檢索索引 dir...
Lucene學習筆記
1 lucene的field中的store和index屬性 如果field的store是yes的話,表明這個資料是要儲存在lucene檔案中的,可以用get方法得到 如果field的index是analyzed的話,表明這個資料是有被索引的,可以被搜尋的。這個兩個屬性的四種組合分別的含義是 a st...
lucene學習筆記
2 非結構化資料 2 資料的查詢 2 非結構化資料的查詢 3 全文檢索 2 站內搜尋 論壇搜尋 微博 文章搜尋 3 電商搜尋 搜尋 京東搜尋 4 只要是有搜尋的地方就可以使用全文檢索技術。2 查詢索引 test public void createindex throws exception 6 關...