簡體   English   中英

Nhibernate.Search升級后的雙Lucene索引目錄

[英]Twin Lucene index directories after Nhibernate.Search upgrade

我一直在忙於將我們的n *堆棧升級到最新版本。 我們一直在使用FluentNhibernate進行配置,並使用Nhibernate.search和Lucene.Net進行全文搜索。 一切正常,直到我將各種版本的庫更改為以下版本:

  • 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的配置構建,發現對於每個映射,我創建了兩個導入,一個具有映射類的全名,一個沒有(如果我映射“ User”類,我將有一個)。映射,然后兩個導入“ POCOAssembly.User”和“ User”)。 在FullTextIndexEventListener的Initialize調用中創建目錄。

有沒有人偶然發現過同樣的問題? 我通讀了nhibernate.search發行說明,但沒有找到有關映射更改的任何信息; 有什么我想念的嗎? 庫中是否發生了重大變化?


編輯

我意識到有必要指出,我的映射類和映射是從用於審核目的(創建日期/更新時間)的通用基礎對象派生的。

我發現該問題已在NHibernate JIRA中報告: https : //nhibernate.jira.com/browse/NHSR-22

發生的是,我在NHibernate配置中設置了兩個默認屬性。 “ hibernate.search.default.directory_provider”和“ hibernate.search.default.indexBase”這些默認配置被視為兩個分片,因為目前尚未對該代碼進行測試。

一種解決方法是刪除“ hibernate.search.default.directory_provider”條目,因為它默認為正確的條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM