我一直在忙着将我们的n *堆栈升级到更新的版本。我们一直在使用FluentNhibernate进行配置,使用Nhibernate.search和Lucene.Net进行全文搜索。一切正常,直到我将各种版本的库更改为以下内容:
堆栈一如既往地工作,但我注意到一些奇怪的事情;而在Lucene索引目录包含每个索引类的一个子目录之前,它现在使用两个子目录,后缀为整数。
我们来自
LuceneDirectory
.Class1
.Class2
到
LuceneDirectory
.Class1.0
.Class1.1
.Class2.0
.Class2.1
我在FluentNhibernate的配置构建中略微探讨了一下,发现对于每个映射,我创建了两个导入,一个映射了类的全名,一个没有(如果我映射“User”类,i' ll有一个映射,两个导入“POCOAssembly.User”和“User”)。这些目录是在FullTextIndexEventListener的Initialize调用中创建的。
有没有人偶然发现同样的问题?我阅读了nhibernate.search发行说明,但未找到有关映射更改的任何信息;有什么我想念的吗?图书馆是否发生了重大变化?
修改:
我意识到指出我的映射类和映射来自用于审计目的的公共基础对象(创建日期/更新时间)可能很重要。
答案 0 :(得分: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”条目,因为它默认为正确的条目。