2009-05-28 137 views
3

我没有建立搜索解决方案的经验,但我希望在我的解决方案中有一个搜索框,我不知道从哪里开始。有没有很酷的SQL Server技巧,我可以用它来提高我的搜索解决方案的性能(我正在使用托管SQL 2008服务器)我很喜欢指向多步骤教程的指针,该教程以一个简单的查询搜索解决方案开始。然后在更高级的代码和功能上进行分层。使用ASP.NET MVC,SQL Server,实体框架实现搜索框

+0

控制器 - >存储过程 - > SQL Server 2008 FTS目录 – RPM1984 2011-07-21 05:57:43

回答

0

您可能有兴趣阅读this

1

其实你不说是否你需要/想要一个'蜘蛛'来索引您的网站“原样”(如Google;如果每个页面上的可搜索内容来自多个不同的表/对象/实体),或者您是否只想使用全文搜索类语法来查询EF以返回一组实体?

如果你对“蜘蛛”方法感兴趣 - 下面是一个小型ASP.NET搜索引擎“Searcharoo”的CodeProject文章。它是一个针对small-ish站点的网络爬取搜索引擎(它根本不使用数据库),因此它可能不适用于您的情况。 代码也在searcharoo.codeplex.com,有7篇文章是关于它是如何工作的/建于Searcharoo.net(免责声明:我写了它们;我希望它们很有趣/有用)。

如果您需要直接搜索数据库,您应该查看SQL Server 2008的全文搜索功能(假设LIKE不够完善,无法满足您的需求)。我们使用来自this article (free registration)的信息来设置工作项目上的SQL全文搜索......尽管我们的解决方案没有EF。

另外,正如你可能知道StackOverflow是用ASP.NET MVC构建的 - 他们在博客上发布了大约problems with SQL 2008 FTS。 SQL FTS上还有some info与Lucene.NET(这是您可以研究的另一个搜索引擎)可能有用。