我目前在我的应用程序中使用 NHibernate.Search,它工作正常,但是我现在需要转移到 Solr,因为我需要对我的应用程序进行负载平衡。
我有基本的设置和工作,但结果没有按预期出现......这是我到目前为止所做的:
1) 在命令提示符下运行 java solr 服务。(我可以访问http://localhost:8983/solr/admin/) 2)如 SolrNet wiki 上所述,使用我的 Nhibernate Cfg 初始化 Solr 3)我已向我的一个实体(ID、标题、描述)添加了一些属性4)我的 schema.xml 已修改以匹配我的索引字段(id、标题、描述) 5)我在索引中添加了几个实体(我可以在管理控制台中看到它们)6)我正在使用以下返回一些搜索结果的代码(根据 wiki)
NHibernate.SolrNet.CfgHelper cfgHelper = new CfgHelper();
ICollection<T> entities;
ISessionFactory sessionFactory = Session.SessionFactory;
using (var session = cfgHelper.OpenSession(sessionFactory)) {
entities = session.CreateSolrQuery(term).SetMaxResults(10).List<T>();
}
return entities.ToList();
当我运行它时,它会找到正确的结果,但是它不会水合整个实体,只有已编入索引的字段...我在这里错过了什么... NHibernate.Search 是否让这神奇地发生在我身上?
保罗