1

我想使用 lucene.net 来搜索数据。我阅读了结合 lucene.net 和 nhibernate 进行搜索的 nhibernate 搜索。

但是我使用流利的 nhibernate,我喜欢使用 linq。我认为使用流利的 nhibernate 不会有问题,但我似乎找不到任何将 linq 与 nhiberante 搜索一起使用的示例。

我可以使用 linq 吗?

4

1 回答 1

0

您可以同时使用 NHibernate.Search 和 FluentNHibernate,您只需在创建 ISessionFactory 时连接 NHibernate.Search 侦听器。

个人意见先!

我不喜欢使用 linq 来使用全文搜索功能,这只是试图将真实且通常功能强大的界面隐藏在愚蠢的 api 后面,并且通常会出现问题或在此过程中丢失。(一个例子是带有 simple 的 linq-to-sql where user.Alias == "sisve",它会自动转换为 sql WHERE Alias = 'sisve'。需要一些详细的知识才能理解 C# 中区分大小写的比较在 SQL Server 的标准安装中变成了不区分大小写的比较。 )

NHibernate 和 Lucene 都是强大的库,但我会说将它们分开。自己构建 Lucene 索引(您可以使用自定义侦听器来做到这一点,就像 NHibernate.Search 侦听器一样),然后自己查询它。这使您可以更好地了解两个系统的工作方式,并且您可以更轻松地在此基础上实现更好的搜索(您的意思是,方面,自定义增强,...)

于 2013-05-04T09:35:29.857 回答