asp*_*net 7 asp.net asp.net-mvc lucene.net full-text-search fluent-nhibernate
我用MVC 2.0和Fluent NHibernate构建了一个ASP.NET MVC应用程序(由于某些原因隐藏在存储库后面).该应用程序代表了一个非常复杂的域,其中包含一些不同的对象,如用户,消息,注释,文件和约会.
现在,我想实现全文搜索,使用户只需输入搜索短语即可轻松查找所有类型的内容.当单独处理应用程序中所有类型的不同对象时,我现在必须将它们"放在一起"进行搜索.这意味着用户不区分不同的类型,他只输入"xyz"并希望将结果列入列表,评论与消息混合等.
选项1是创建一个搜索服务,该服务从不同的存储库中提取搜索结果并准备组合输出(排序,分页等).但是,当背后的数据增长(并且会增长)时,这真的非常昂贵.
所以我正在寻找替代解决方案.目前我正在使用SQL Server 2008.我发现的是lucene.net(http://lucene.apache.org/lucene.net/),但我还没投入太多时间.
有什么建议?
我肯定会选择 SQL 全文功能。我确实理解某些内容可能在文件、其他结构中可用,但即便如此,大部分数据也应该位于后端,并且 SQL 在架构方面的全文索引方面做得很好。
我建议您从 SQL 全文开始,并创建一个查询其他资源的小组件(如果需要)。我假设 80% 的可搜索内容来自 SQL Server。
以下是开始使用 SQL Server 全文的一些资源: