2010-02-24 26 views
0

我有一個Asp.Net MVC應用程序,我正在尋找實現搜索引擎,將搜索個人。我想使用Nhibernate搜索& Lucene.Net,因爲這會在插入或更新個人時保持索引同步,從而在用戶運行搜索時可以看到更改。Asp.MVC和nHibernate和Lucene的問題

我遇到的問題是如果多個用戶同時更新索引,Nhibernate Search如何處理這個問題? Lucene是否負責鎖定?

任何幫助將不勝感激。

問候

垃圾郵件

回答

0

Lucene.NET將手柄鎖定爲你,howeve由於所有實例都將鎖定文件存儲在臨時文件夾中,因此運行多個應用程序的應用程序可能會碰撞鎖定。

這是在Lucene 2.3中修正的,默認情況下它們開始將lockfile存儲在basedir(所有索引文件所在的位置)。儘管如此,我認爲在從另一個線程/進程進行搜索或寫入時的索引寫入操作會拋出異常,因此,相應地處理它(例如,對該實體的更新進行排隊)將是明智的。