Google 搜索 API 与 MS SQL Server 全文索引?
-
18-09-2019 - |
题
我们正在为客户开发网站,我们希望采用一种可以轻松重复使用的搜索解决方案。我们应该追求哪一个?我们应该使用 Google Search API 还是应该使用 MS Sql Server 全文索引和 CONTAINS & FREETEXT 谓词?
解决方案
我们在这里对堆栈溢出使用SQL Server全文索引和它的作品相当不错 - 但我的只有的建议是在2005年和2008年,我们使用它的版本。我听说这是在2000年严重得多有怪癖(禁用词列表等),但并不严重。它的快速和做什么它在锡说,大部分。
在运行与contains()
和freetext()
的问题是,用户往往期望在“整页”级别进行搜索,ALA谷歌,其中任何的书面页面/屏幕进行搜索。这不是真正的数据库是如何工作的,但用户并不关心这一点。他们关心的是结果,并有(可以说是合理的)期望基于多年网络搜索的。
如果您希望在需要“整个页面”搜索的水平,我强烈推荐看的谷歌搜索API ,或 Lucene.NET (假设你是一个基于使用SQL的)微软堆栈。
其他提示
SQL Server 全文搜索的好处是进入门槛很低(假设您已经在使用 SQL Server)。StackOverflow 使用它进行搜索。缺点是它的有效性(或缺乏有效性)是其中之一 最常被批评的功能 的。以至于很多人(包括我自己)默认在 Google 中使用“site:stackoverflow.com ...”。
谷歌自定义搜索 进入门槛也很低,但您失去了对索引更新频率以及可以返回多少搜索结果的一些控制。 谷歌网站搜索 是一个更好的版本,它纠正了其中一些功能(例如按需索引)。
在最顶端你有 谷歌搜索设备, ,如果您的数据不公开,这实际上是您唯一的 Google 选择。
哪种方法合适取决于您的数据需要重新索引的频率、您发出的请求数量、您想要使用多少带宽来建立索引、您的数据是否公开以及您需要的搜索结果有多好。没有一个答案。