2
我有多个实体存储在一个单一的NHibernate搜索索引,希望我能够一次查询所有这些。用例是一个简单的搜索页面,它返回混合结果。因此,举例来说,代码看起来是这样的:NHibernate搜索多态查询
public interface ISearchable {}
[Indexed(Index = "TheIndex")]
public class SearchableEntityA : ISearchable
{
// Some [Field]s
}
[Indexed(Index = "TheIndex")]
public class SearchableEntityB : ISearchable
{
// Some other [Field]s
}
这一切指标正常,当然是可查询的原始NHibernate的,像这样:
session.CreateCriteria<ISearchable>().List<ISearchable>();
我有ISearchable某些领域,但这些在NHibernate映射中没有特别引用。
我希望是,我可以只说:
var query = "some keyword";
fullTextSession.CreateFullTextQuery<ISearchable>(query).List<ISearchable>();
和检索ISearchables的列表,包含来自各种不同的实体结果。然而,现实是它抛出了NHibernate.HibernateException: Not a mapped entity: NetComposites.Model.ISearchable
。
那么,用NHibernate Search实现类似多态查询的最简单方法是什么?