Lucene構建index效能調整

2021-04-15 08:52:14 字數 684 閱讀 2267

1、調整maxbuffereddocs和mergefactor,經過除錯,發現maxbuffereddocs=1000,mergefactor=100時效能較好。

indexmodifier 

=new

indexmodifier(

@"c:/indexpath",

newstandardanalyzer(),

true

);indexmodifier.setmaxbuffereddocs(

1000

);indexmodifier.setmergefactor(

100);

2、使用indexmodifier類,執行緒安全的。

indexmodifier.adddocument(document);

3、使用執行緒池threadpool,有效利用硬體的特性。經除錯,5個執行緒的效果是相當好的。

threadpool.setmaxthreads(5, 

5);threadpool.queueuserworkitem(waitcallback, state);

4、最後別忘記了優化

indexmodifier.flush();

indexmodifier.optimize();

5、使用ramdirectory並不能帶來多少效能改善,maxbuffereddocs同樣也是設定快取

Lucene系列 index彈性擴充套件

shard與replicaindex擴充套件一般包含橫向擴充套件和縱向擴充套件,將大資料切分成小資料塊,或者將資料分片複製copy到一台機器.橫向擴充套件策略 考慮線上機器執行,此時要保證搜尋正常的work,並向外提供搜尋服務.1.首先應該停掉index write操作,即利用一些訊息佇列儲存操作階...

lucene效能優化

優化搜尋效能 雖然建立索引的操作非常耗時,但是那畢竟只在最初建立時才需要,平時只是少量的維護操作,更何況這些可以放到乙個後台程序處理,並不影響使用者搜尋。我們建立索引的目的就是給使用者搜尋,所以搜尋的效能才是我們最關心的。下面就來 一下如何提高搜尋效能。1 將索引放入記憶體 這是乙個最直觀的想法,因...

提高Lucene索引效能

當索引的檔案不多時,用 lucene 預設的設定就能得到很好的效能。但是,如果索引大量檔案,就得通過一些手段去提高 lucene 索引效能。1 索引效能差的原因 1 lucene 索引過程 在索引檔案的過程中,lucene 不是直接將檔案索引到磁碟上,而是首先快取,然後在寫到磁碟。如上圖所示。2 索...