1.2 搜索如何工作
谷歌语义搜索
从小时候起,我就坚定地相信一条原则—要想理解任何一件事物的工作原理,你需要将它分解来看它的细节。这条适用于玩具的原则也非常适用于搜索。
谷歌页面上的搜索是基于后端的三个基本组件的复杂组合来构建的。
- 一个蜘蛛(spider)或称网络爬虫(web crawler)。
- 一个数据库(或者索引)。
- 一个大型的计算机网络。
与之对称的是另外三个看似基本的元素,事实上每当我们在谷歌搜索框中执行搜索时,它们的组合都会出现在前端,就在我们面前。 - 一些搜索引擎结果页面(Search Engine Results Pages,SERPs)。
- 在每个搜索结果页面从顶到底10个可用位置上的结果的一种分层排序[称为相关结果(organic result)]。
- 一种使用了超过200种排序因素的排序算法。用数学方法将出现在谷歌搜索结果页面上用来回答一条搜索查询的每条结果放在一个最能反映谷歌对这条结果可以提供的答案所具有的信心的位置上。
蜘蛛以惊人的速度在 Web 上穿行并收集它们在网页上找到的所有信息,将其取回并索引到谷歌的数据库中。接下来,谷歌的计算机网络提供能够匹配谷歌搜索框中的一条搜索查询的信息。这三个元素之间有很重要的相互依存的关系。如果没有一个高质量的蜘蛛,谷歌就没法索引可见 Web 上可以获得的海量信息。如果没有用来组织所有收集到的数据的数据库,就没法存储它们,而如果没有计算机网络,谷歌就没法像现在这样提供搜索结果。
事实上,这三个元素非常复杂。谷歌的蜘蛛以纳秒速度在整个 Web 上穿行,收集数TB(terabyte)的数据。它的索引能够可靠地分类和存储这些信息,同时它的计算机群能够保持 24/7 的稳定工作,即便像所有硬件一样,每天其中都有几万台会出故障。
组成搜索前端的三个元素同样有着重要的相互依存关系。如果没有搜索引擎结果页面(SERPs),谷歌就找不到实用的方式来为其信息索引提供一种可视化。如果没有页面的分层堆叠和它们中的每条结果的分层排序,就没有简单的方式来为一条搜索查询首先呈现最有可能的答案,然后才是次可能的,等等。最后,如果没有一个搜索排序算法,谷歌就没有任何把握能设法为其索引中的结果创建一个可以将它们呈现在搜索结果页面上的分层结构。
谷歌的做法和其他公司都不同。计算机、蜘蛛、索引、搜索排序算法和数据中心都具有一种突破性的和独特的体系结构。不同的国家可以用不同的语言提交不同的搜索查询,为了让这种组合变得有趣,我可以在谷歌的美国索引中用英文查询位于美国的信息,即便当我在上海时,我可以得到和我在美国时几乎相同的结果。
然而,尽管这一切相当复杂,整个前端操作都由那三个本质上很笨的元素组成。搜索结果页面呈现信息,分层排序传达一种对结果的信心的信号,排序算法决定每条结果应该出现在搜索结果页面中的什么位置,计算机网络为之服务。这些元素中的每一个都基于不间断、不休眠的、具有机器人般不知疲倦和聚焦视野的后端配置—它从不思考,只做要它做的事情,并在一定程度上做得很好。
这一切复杂性的最终结果是我们熟悉的谷歌搜索外观的简单性—10 个蓝色链接出现在SERPs中,每条带有一段简明的片段描述,并根据质量降序排列。
在一种情况下这个系统就不再按其被希望的那样来运转,即当人为干预—或者更确切地说,是人想要借势它的动机—开始影响SERPs上的结果排名,使得一些网站开始作为一条搜索查询的答案出现在一个远高于它们应有的位置时。
没有脑子的人都知道,如果搜索就是营销,并且如果搜索是我们在 Web 上浏览的唯一可行的方式,那么一家设法在搜索中排名高一点的公司将会受益巨大。与这些相关的经济回报使得借势谷歌的算法成为几乎整个搜索引擎优化产业的圣杯。
自从搜索出现以来,搜索引擎优化(Search Engine Optimization,SEO)专家们就使用与驱动搜索一致的数学逻辑来让他们的客户受益。人性就是这样,很自然地试着找到弱点来利用,搜索技术以及搜索中的数据评价方式都是如此。
谷歌和搜索引擎优化师之间的猫和老鼠的游戏,使得原先明显无能的在搜索中决定结果(即网站)排名的搜索算法在一定程度上变得更聪明了,用一种更聪明、更不易被那些理解搜索是如何运转的人所借势的方式对呈现的结果进行排序。
的确,对于谷歌引入的致力于提高搜索结果页面的质量和可信性的搜索程序的每一次更新,搜索引擎优化师们迟早能找到方法得到完全相反的结果来利用它。
每次谷歌引入一个改进、一个过滤器或者一种惩罚机制,SEO 就会对其进行实验测试来发现其缺陷和漏洞,推究其细节,然后便不可避免地借势它来得到可能比原本稍好一些的搜索排序结果。
理论上讲,这种轮回可以永远持续下去。谷歌可能已经能够修复其提供相关搜索结果页面排名的算法,但如果不改变其本质,对于SEO而言,只不过是又一个更大更笨的野兽,可用与过去相同的机制来掌控——也许基于一些新的组合,但仍会被研究、分析并最终被借势。
语义搜索的引入叫停了这一切。现在谷歌决定一个网站在搜索中排名的搜索排序算法所考虑的因素已经有了显著的扩展,包含的信息已经很难被借势。这便让搜索回到了它本来的功能:一种有用的导览 Web 上海量信息的手段,当然很自然地,这就引领我们可以去看一看底层原理,了解是什么让语义搜索活跃了起来。