1

我一直忙於將我們的n *堆棧升級到更新的版本。我們一直使用FluentNhibernate進行配置,使用Nhibernate.search和Lucene.Net進行全文搜索。一切正常,直到我改變了圖書館的各種版本以下:Nhibernate.Search升級後的雙Lucene索引目錄

  • FluentNHibernate.dll:1.0.0.593
  • NHibernate.dll:2.1.0.4000
  • NHibernate.Search.dll:2.0。 0.1001
  • Lucene.Net.dll:2.3.1.3

堆棧一直作爲以前,但我注意到一些奇怪的事情;而在Lucene索引目錄中將包含每個索引類的一個子目錄之前,它現在使用兩個子目錄,後綴爲一個整數。

我們從

LuceneDirectory 
.Class1 
.Class2 

LuceneDirectory 
.Class1.0 
.Class1.1 
.Class2.0 
.Class2.1 

我戳FluentNhibernate的配置構建了一下週圍,發現對於每個映射,我有兩個進口創建一個與全名(如果我映射「用戶」類,我將有一個映射,和兩個導入「POCOAssembly.User」和「用戶」)。這些目錄是在FullTextIndexEventListener的Initialize調用中創建的。

有沒有人偶然發現過同樣的問題?我閱讀了nhibernate.search發行說明,但沒有發現有關映射更改的任何信息;有什麼我失蹤?圖書館有沒有突然的變化?


編輯

我意識到要指出的是,我的映射類和我的映射與用於審計目的(創建日期/更新時間)的公共基礎對象派生它可能是很重要的。

回答

1

我發現這個問題已經報告了NHibernate的JIRA:https://nhibernate.jira.com/browse/NHSR-22

發生了什麼事,是我所的NHibernate的配置中有兩個默認屬性; 「hibernate.search.default.directory_provider」和「hibernate.search.default.indexBase」 這些默認配置被認爲是兩個分片,因爲代碼暫時未被測試。

解決方法是刪除「hibernate.search.default.directory_provider」條目,因爲它默認爲正確的條目。