搜索引擎是如何工作的?
2006-5-28
我经常会遇到一些不知道 搜索引擎如何收集信息的人。他们知道什么是搜索引擎,而且也理解得到搜索引擎索引的重要性,尽管有些人知道一些,但当你开始谈论诸如爬行程序之类的内容时,他们就开始卡壳了。 不要再出现卡壳这样的尴尬场面了。本文旨在帮你揭示一些你对搜索引擎还不是很肯定的东西。毕竟,如果你想通过得到搜索引擎的收录而受益,你还是了解一下搜索引擎如何工作为好。 合三为一 基于爬行程序的搜索引擎是由三部分组成的:爬行程序、索引和软件。每一部分都具有自己的功能并且三个部分一起产生了我们在搜索引擎结果页面(SERPs)上所看到的内容。 饥饿的爬行程序 另一个广为人知的名字是网络爬行程序或者机器人,搜索引擎爬行程序就是能阅读网页和跟踪站点内到其它网页任何链接的一个自动程序。我们经常将一个称为被“爬行”或“索引”。在网络上有三种非常饥饿、非常活跃的爬行程序。它们的名字为Googlebot(Google)、Slurp( Yahoo!)和MSNBot(MSN 搜索)。 爬行程序会从先前添加到它们索引(数据库)中的系列网页URLs开始网络之旅。在它们访问这些网页时,它们爬行编码和副本,它将在网络上找到的新网页(链接)也添加到它的索引之中。对于这个过程,我们可以将爬行程序称为是正在建立索引,稍后将进一步加以讨论。 爬行程序会根据一个固定的周期回访其目录中的站点,寻找任何的更新。至于爬行程序回访的频率,这要由搜索引擎确定。网站拥有者通过采用一个名为robot.txt的文件确实能控制爬行程序访问这个站点的频率。搜索引擎在进一步爬行一个网站之前首先查看这个文件。 正在成长的索引 索引就像是一个包含爬行程序所找到网站每一个网页和文件副本的巨大目录或者详细目录。如果某一个网页发生了变化,则会使用新的信息来更新这个目录。为了能使一个数量的概念给你描述这些索引的大小,Google最新公布的数字是80亿个网页。 有时候需要一定的时间才能让爬行程序找到新的网页和更改并添加到自己的索引中。由此,一个网页可能已被“爬行”但尚未“索引”。知道一个网页被索引后——添加到索引中——此时在搜索引擎中是搜索不到这些被爬行过的网页的。 每天,搜索引擎都通过一个设计好的软件来详细审核其索引中的数十亿的网页索引,并找出哪些与搜索查询最为匹配以及将其按最为相关的顺序进行 排名。 搜索引擎面对的是数百亿需要排序的网页,它如何决定相关性呢?每一个搜索引擎都已形成了一套规则和数学公式,我们将其称之为算法,用这种算法来决定网页的排名。 至于每一家搜索引擎的算法是如何工作的这是一个秘密,但常常用来改进一个网站的排名性能的一般原则大家还是知道的,我们将其称之为搜索引擎优化。 搜索引擎不时简单地采用网页副本将相关的网页根据一个垂直的主题进行分组。如果我们取出一个与电影行业相关的网页,这些主题或者组可能是娱乐、电影娱乐、电影明星娱乐等等。每一个主题都有描述这个组所包含网页的公共字和短语。有些网页可能不单单属于一个组,例如:与电影利润相关的一个网页可能既属于金融组又属于娱乐组。 SERP(或搜索引擎结果页) 将此算法应用于索引的站点后,根据所执行的搜索,搜索引擎会给出一些最相关的搜索结果。 我们来简化一个复杂的过程,当一位用户输入一个搜索查询时,搜索引擎根据这个网页对其认为相关的索引进行分析和检索。如果它具有一个相关网页的候选名单,它会依据另外的算法因素对这些列表进行进一步计算,以便决定以何种顺序将其展示给用户。这些因素或许是用户的位置,当然了,甚至也可能是用户的搜索历史记录。 每个搜索引擎所使用的算法是不同的,这就是为什么对于相同的查询,每个搜索引擎所搜索到的结果不尽相同的原因。每一个搜索引擎都有自己的小生境,因此,对于一个用户常常同时使用多个搜索引擎来搜索一个内容并不少见。这进一步说明了网站拥有者将其网站在所有搜索引擎上获得索引并得到较好的排名是非常重要的。 结论 搜索引擎的目标是如何适合用户的口味。它们因此想在第一时间给用户提供合适的、相关的、信息量大的站点来满足他们。