1绪论
web给信息检索带来了新的挑战。web上的信息量快速增长,同时不断有毫无经验的新用户来体验web这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象yahoo这样重要的网页或搜索引擎开始。大家认为list(目录)有效地包含了大家感兴趣的主题,但是它具有主观性,建立和维护的代价高,升级慢,不能包括所有深奥的主题。基于关键词的自动搜索引擎通常返回太多的低质量的匹配。使问题更遭的是,一些广告为了赢得人们的关注想方设法误导自动搜索引擎。我们建立了一个大型搜索引擎解决了现有系统中的很多问题。应用超文本结构,大大提高了查询质量。我们的系统命名为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节)。