Google搜索API与MS SQL Server全文索引?

时间:2009-07-19 04:58:44

标签: .net sql-server google-search-api

我们正在为客户开发网站,我们希望采用可轻松重复使用的搜索解决方案。我们应该追哪一个?我们应该使用Google Search API,还是应该使用MS Sql Server全文索引和CONTAINS& FREETEXT谓词?

2 个答案:

答案 0 :(得分:4)

我们在Stack Overflow上使用SQL Server全文索引,它运行得相当好 - 但是我只能 推荐它用于2005年和2008年,我们使用它的版本。我听说2000年的情况要糟糕得多。有些怪癖(禁言名单等)但没什么大不了的。它很快,并且在锡上做的事情大多数都是。

您遇到contains()freetext()时遇到的问题是用户经常希望在“整个网页”级别进行搜索,而Google 则会写入任何内容页面/屏幕是可搜索的。这并不是数据库的工作原理,但用户并不关心这一点。他们关心结果,并且基于多年的网络搜索具有(可以说是合理的)期望。

如果您希望需要“整页”搜索级别,我强烈建议您查看Google Search APILucene.NET(假设您是基于SQL的Microsoft堆栈)

答案 1 :(得分:3)

SQL Server全文搜索的好处是进入门槛非常低(假设您已经在使用SQL Server)。 StackOverflow使用它进行搜索。缺点是它的有效性(或缺乏效力)是SO的most frequently criticized features之一。非常多,所以很多人(包括我自己)默认在Google中使用“site:stackoverflow.com ...”。

Google Custom Search也有较低的准入门槛,但您无法控制索引的更新频率以及可以返回的搜索结果数量。 Google Site Search是一个更好的版本,可以纠正其中一些功能(例如按需索引)。

在最高端,您有Google Search Appliances,如果您的数据不公开,那么这是您唯一的Google选项。

哪个合适取决于您的数据需要重新编制索引的频率,您发出的请求数量,要使用的带宽索引数量,数据是否公开以及搜索结果需要多少。没有人回答。