1 绪论
Web 给资讯检索带来了新的挑战。 Web 上的资讯量快速增长,同时不断有毫无经验的新多用户来体验 Web 这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象 Yahoo 这样重要的网页或搜索引擎开始。大家认为 List(目录) 有效地包含了大家感兴趣的主题,但是它具有主观性,建立和 WordPress 维护的代价高,升级慢,不能包括所有深奥的主题。基于关键词的自动搜索引擎通常返回太多的低质量的匹配。使问题更遭的是,一些广告为了赢得人们的关注想方设法误导自动搜索引擎。我们建立了一个大型搜索引擎解决了现有系统中的很多问题。应用超文字结构,大大提高了查询质量。我们的系统命名为 google,取名自 googol 的通俗拼法,即 10 的 100 次方,这和我们的目标建立一个大型搜索引擎不谋而合。
1.1 网络搜索引擎—升级换代(scalingup):
1994-2000 搜索引擎技术不得不快速升级(scaledramatically)跟上成倍增长的 web 数量。 1994 年,第一个 Web 搜索引擎,WorldWideWebWorm(WWWW) 可以检索到 110,000 个网页和 Web 的档案。到 1994 年 11 月,顶级的搜索引擎声称可以检索到 2‘000′000(WebCrawler)至 100‘000′000 个网络档案(来自 SearchEngineWatch)。可以预见到 2000 年,可检索到的网页将超过 1‘000′000‘000 。同时,搜索引擎的访问量也会以惊人的速度增长。在 1997 年的三四月份,WorldWideWebWorm 平均每天收到 1500 个查询。在 1997 年 11 月,Altavista 声称它每天要处理大约 20′000′000 个查询。随著网络多用户的增长. 到 2000 年,自动搜索引擎每天将处理上亿个查询。我们系统的设计目标要解决许多问题,包括质量和可升级性,引入升级搜索引擎技术(scalingsearchenginetechnology),把它升级到如此大量的资料上。
1.2Google:
跟上 Web 的步伐(ScalingwiththeWeb)建立一个能够和当今 web 规模相适应的搜索引擎会面临许多挑战。抓网页技术必须足够快,才能跟上网页变化的速度(keepthemuptodate)。储存索引和文件的空间必须足够大。索引系统必须能够有效地处理上千亿的资料。处理查询必须快,达到每秒能处理成百上千个查询(hundredstothousandspersecond.)。随著 Web 的不断增长,这些任务变得越来越艰巨。然而硬体的执行效率和成本也在快速增长,可以部分抵消这些困难。还有几个值得注意的因素,如磁碟的寻道时间(diskseektime),作业系统的效率(operatingsystemrobustness)。在设计 Google 的过程中,我们既考虑了 Web 的增长速度,又考虑了技术的更新。 Google 的设计能够很好的升级处理海量资料集。它能够有效地利用储存空间来储存索引。优化的资料结构能够快速有效地存取(参考 4.2 节)。进一步,我们希望,相对于所抓取的文字档案和 HTML 网页的数量而言,储存和建立索引的代价尽可能的小(参考附录 B)。对于象 Google 这样的集中式系统,采取这些措施得到了令人满意的系统可升级性(scalingproperties)。
1.3 设计目标
1.3.1 提高搜索质量我们的主要目标是提高 Web 搜索引擎的质量。 1994 年,有人认为建立全搜索索引(acompletesearchindex)可以使查询任何资料都变得容易。根据 BestoftheWeb1994—Navigators,“最好的导航服务可以使在 Web 上搜索任何资讯都很容易(当时所有的资料都可以被登入)” 。然而 1997 年的 Web 就迥然不同。近来搜索引擎的多用户已经证实索引的完整性不是评价搜索质量的唯一标准。多用户感兴趣的搜索结果往往湮没在 “垃圾结果 Junkresult” 中。实际上,到 1997 年 11 月为止,四大商业搜索引擎中只有一个能够找到它自己(搜索自己名字时返回的前十个结果中有它自己)。导致这一问题的主要原因是文件的索引数目增加了好几个数量级,但是多用户能够看的文件数却没有增加。多用户仍然只希望看前面几十个搜索结果。因此,当集合增大时,我们就需要工具使结果精确(在返回的前几十个结果中,有关文件的数量)。由于是从成千上万个有点相关的文件中选出几十个,实际上,相关的概念就是指最好的文件。高精确非常重要,甚至以响应(系统能够返回的有关文件的总数)为代价。令人高兴的是利用超文字链接提供的资讯有助于改进搜索和其它应用。尤其是链接结构和链接文字,为相关性的判断和高质量的过滤提供了大量的资讯。 Google 既利用了链接结构又用到了 anchor 文字(见 2.1 和 2.2 节)。