2024年6月6日发(作者:)

这篇文章中,我们介绍了google,它是一个大型的搜索引擎(of a large-scale search

engine)的原型,搜索引擎在超文本中应用广泛。Google的设计能够高效地抓网页并建

立索引,它的查询结果比其它现有系统都高明。这个原型的全文和超连接的数据库至少包

含24‘000‘000个网页。我们可以从 / 下载。 设计搜索

引擎是一项富有挑战性的工作。搜索引擎为上亿个网页建立索引,其中包含大量迥然不同

的词汇。而且每天要回答成千上万个查询。在网络中,尽管大型搜索引擎非常重要,但是

学术界却很少研究它。此外由于技术的快速发展和网页的大量增加,现在建立一个搜索引

擎和三年前完全不同。 本文详细介绍了我们的大型搜索引擎,据我们所知,在公开发表的

论文中,这是第一篇描述地如此详细。除了把传统数据搜索技术应用到如此大量级网页中

所遇到的问题,还有许多新的技术挑战,包括应用超文本中的附加信息改进搜索结果。 本

文将解决这个问题,描述如何运用超文本中的附加信息,建立一个大型实用系统。任何人

都可以在网上随意发布信息,如何有效地处理这些无组织的超文本集合,也是本文要关注

的问题。 关键词 World Wide Web,搜索引擎,信息检索,PageRank, Google 1 绪论

Web 给信息检索带来了新的挑战。Web上的信息量快速增长,同时不断有毫无经验的新

用户来体验Web这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象Yahoo这样重

要的网页或搜索引擎开始。大家认为List(目录)有效地包含了大家感兴趣的主题,但是它具

有主观性,建立和维护的代价高,升级慢,不能包括所有深奥的主题。基于关键词的自动

搜索引擎通常返回太多的低质量的匹配。使问题更遭的是,一些广告为了赢得人们的关注

想方设法误导自动搜索引擎。 我们建立了一个大型搜索引擎解决了现有系统中的很多问

题。应用超文本结构,大大提高了查询质量。我们的系统命名为google,取名自googol

的通俗拼法,即10的100次方,这和我们的目标建立一个大型搜索引擎不谋而合。 1.1

网络搜索引擎—升级换代(scaling up):1994-2000 搜索引擎技术不得不快速升级(scale

dramatically)跟上成倍增长的web数量。1994年,第一个Web搜索引擎,World Wide

Web Worm(WWWW)可以检索到110,000个网页和Web的文件。到1994年11月,

顶级的搜索引擎声称可以检索到2‘000’000(WebCrawler)至100‘000’000个网

络文件(来自 Search Engine Watch)。可以预见到2000年,可检索到的网页将超过

1‘000’000‘000。同时,搜索引擎的访问量也会以惊人的速度增长。在1997年的三

四月份,World Wide Web Worm 平均每天收到1500个查询。 在1997年11月,

Altavista 声称它每天要处理大约20’000’000个查询。随着网络用户的增长,到2000

年,自动搜索引擎每天将处理上亿个查询。我们系统的设计目标要解决许多问题,包括质

量和可升级性,引入升级搜索引擎技术(scaling search engine technology),把它升级

到如此大量的数据上。 1.2 Google:跟上Web的步伐(Scaling with the Web)建立一

个能够和当今web规模相适应的搜索引擎会面临许多挑战。抓网页技术必须足够快,才能

跟上网页变化的速度(keep them up to date)。存储索引和文档的空间必须足够大。索

引系统必须能够有效地处理上千亿的数据。处理查询必须快,达到每秒能处理成百上千个

查询(hundreds to thousands per second.)。随着Web的不断增长,这些任务变得越

来越艰巨。然而硬件的执行效率和成本也在快速增长,可以部分抵消这些困难。 还有几个

值得注意的因素,如磁盘的寻道时间(disk seek time),操作系统的效率(operating

system robustness)。在设计Google的过程中,我们既考虑了Web的增长速度,又考

虑了技术的更新。Google的设计能够很好的升级处理海量数据集。它能够有效地利用存

储空间来存储索引。优化的数据结构能够快速有效地存取(参考4.2节)。进一步,我们希

望,相对于所抓取的文本文件和HTML网页的数量而言,存储和建立索引的代价尽可能的

小(参考附录B)。对于象Google这样的集中式系统,采取这些措施得到了令人满意的系

统可升级性(scaling properties)。 1. 3设计目标 1.3.1提高搜索质量我们的主要目标是

提高Web搜索引擎的质量。1994年,有人认为建立全搜索索引(a complete search

index)可以使查找任何数据都变得容易。根据Best of the Web 1994 -- Navigators ,

“最好的导航服务可以使在Web上搜索任何信息都很容易(当时所有的数据都可以被登

录)”。然而1997年的Web就迥然不同。近来搜索引擎的用户已经证实索引的完整性不

是评价搜索质量的唯一标准。用户感兴趣的搜索结果往往湮没在“垃圾结果Junk result”

中。实际上,到1997年11月为止,四大商业搜索引擎中只有一个能够找到它自己(搜索

自己名字时返回的前十个结果中有它自己)。导致这一问题的主要原因是文档的索引数目增

加了好几个数量级,但是用户能够看的文档数却没有增加。用户仍然只希望看前面几十个

搜索结果。因此,当集合增大时,我们就需要工具使结果精确(在返回的前几十个结果中,

有关文档的数量)。由于是从成千上万个有点相关的文档中选出几十个,实际上,相关的概

念就是指最好的文档。高精确非常重要,甚至以响应(系统能够返回的有关文档的总数)

为代价。令人高兴的是利用超文本链接提供的信息有助于改进搜索和其它应用 。尤其是链

接结构和链接文本,为相关性的判断和高质量的过滤提供了大量的信息。Google既利用

了链接结构又用到了anchor文本(见2.1和2.2节)。 1.3.2搜索引擎的学术研究随着时

间的流逝,除了发展迅速,Web越来越商业化。1993年,只有1.5%的Web服务是来自.com

域名。到1997年,超过了60%。同时,搜索引擎从学术领域走进商业。到现在大多数搜

索引擎被公司所有,很少技公开术细节。这就导致搜索引擎技术很大程度上仍然是暗箱操

作,并倾向做广告(见附录A)。Google的主要目标是推动学术领域在此方面的发展,和

对它的了解。另一个设计目标是给大家一个实用的系统。应用对我们来说非常重要,因为

现代网络系统中存在大量的有用数据(us because we think some of the most

interesting research will involve leveraging the vast amount of usage data that is

available from modern web systems)。例如,每天有几千万个研究。然而,得到这些

数据却非常困难,主要因为它们没有商业价值。我们最后的设计目标是建立一个体系结构

能够支持新的关于海量Web数据的研究。为了支持新研究,Google以压缩的形式保存了

实际所抓到的文档。设计google的目标之一就是要建立一个环境使其他研究者能够很快

进入这个领域,处理海量Web数据,得到满意的结果,而通过其它方法却很难得到结果。

系统在短时间内被建立起来,已经有几篇论文用到了Google建的数据库,更多的在起步

中。我们的另一个目标是建立一个宇宙空间实验室似的环境,在这里研究者甚至学生都可

以对我们的海量Web数据设计或做一些实验。