Nhibernate.搜索升级后的双Lucene索引目录

Nhibernate.搜索升级后的双Lucene索引目录,nhibernate,fluent-nhibernate,lucene.net,nhibernate.search,Nhibernate,Fluent Nhibernate,Lucene.net,Nhibernate.search,我一直在忙着将我们的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 堆栈一直像以前一样工作,但我注意到一些奇怪的事

我一直在忙着将我们的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

我对FluentNhibernate的配置构建进行了一番探索,发现对于每个映射,我创建了两个导入,一个带有映射类的全名,一个没有(如果映射“User”类,我将有一个映射,两个导入“POCOAssembly.User”和“User”)。目录是在FullTextIndexEventListener的初始化调用中创建的

有没有人碰到过同样的问题?我阅读了nhibernate.search发行说明,但没有找到任何关于映射更改的信息;有什么我遗漏的吗?图书馆发生了突破性的变化吗


编辑


我意识到指出我的映射类和映射源于用于审计目的的公共基对象(创建日期/更新时间)可能很重要。

我发现问题已在NHibernate JIRA中报告:

我在NHibernate配置中设置了两个默认属性;“hibernate.search.default.directory\u provider”和“hibernate.search.default.indexBase” 这些默认配置被视为两个碎片,因为代码目前还没有经过测试


解决方法是删除“hibernate.search.default.directory\u provider”条目,因为它默认为正确的条目

我发现NHibernate JIRA报告了该问题:

我在NHibernate配置中设置了两个默认属性;“hibernate.search.default.directory\u provider”和“hibernate.search.default.indexBase” 这些默认配置被视为两个碎片,因为代码目前还没有经过测试

解决方法是删除“hibernate.search.default.directory\u provider”条目,因为它默认为正确的条目

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