它在Lucene文檔中聲明,在應用程序中使用IndexWriter和IndexSearcher的一個實例是最快的。在應用程序的整個生命週期內保持Lucene IndexWriter&IndexSearcher打開的好習慣
目前,我在任何時候都開放的IndexWriter
靜態實例,並保持隨時開放,但如果IndexWriter
執行對指數的任何CRUD操作時重建的IndexSearcher
一個靜態實例。我在我的索引管理類上實現了Dispose方法,該方法在應用程序結束時關閉IndexWriter
和IndexSearcher
(但是它是一個Web應用程序,因此這可能需要幾個月的時間才能運行)。
這聽起來像合理的方式去做事嗎?並且還使用靜態實例提出多線程問題..?即我應該在使用時鎖定我的作家和搜索者嗎?
好的謝謝你的信息,這很好,他們是線程安全的。我會研究你提到的課程。 – jcvandan 2012-02-21 16:07:11
java-和c#-implementation之間是否有區別?還是它一樣? – xforfun 2015-10-07 07:10:36