搜索引擎原理(二)
操作方法
- 01
早在 Web 出现之前,互联网上就已经存在许多旨在让人们共享的信息资源 。那些资源当时主要存在于各种允许匿名访问的FTP 站点(anonymous ftp), 内容以学术技术报告、研究性软件居多,它们以计算机文件的形式存在,文字材 料的编码通常是PostScript 或者纯文本(那时还没有HTML)。 为了便于人们在分散的FTP 资源中找到所需的东西,1990 年加拿大麦吉尔大 学(University of McGill )计算机学院的师生开发了一个软件,Archie。它通过定 期搜集并分析FTP 系统中存在的文件名信息,提供查找分布在各个FTP 主机中文 件的服务。Archie 能在只知道文件名的前提下,为用户找到这个文件所在的FTP 服务器的地址。Archie 实际上是一个大型的数据库,再加上与这个大型数据库相 关联的一套检索方法。该数据库中包括大量可通过FTP 下载的文件资源的有关信 息,包括这些资源的文件名、文件长度、存放该文件的计算机名及目录名等。尽 管所提供服务的信息资源对象(非HTML 文件)和本书所讨论搜索引擎的信息资 源对象(HTML 网页)不一样,但基本工作方式是相同的(自动搜集分布在广域 网上的信息,建立索引,提供检索服务),因此人们公认 Archie 为现代搜索引擎 的鼻祖。 值得一提的是,即使是在 10 多年后的今天,以FTP 文件为对象的信息检索 服务技术依然在发展,尤其是在用户使用界面上充分采用了Web 风格。北大天网 文件检索系统就是一个例子(见http://bingle.pku.edu.cn )。不过鉴于本书写作定位 的关系,后面将主要讨论网页搜索引擎的相关问题。 以Web 网页为对象的搜索引擎和以FTP 文件为对象的检索系统一个基本的 不同点在于搜集信息的过程。前者是利用 HTML 文档之间的链接关系,在 Web 上一个网页、一个网页的“爬取”(crawl),将那些网页“抓”(fetch)到本地后 进行分析;后者则是根据已有的关于FTP 站点地址的知识(例如得到了一个站点 地址列表),对那些站点进行访问,获得其文件目录信息,并不真正将那些文件下 载到系统上来。因此,如何在 Web 上“爬取”,就是搜索引擎要解决的一个基本 问题。在这方面,1993 年Matthew Gray 开发了World Wide Web Wanderer,它是 世界上第一个利用HTML 网页之间的链接关系来监测Web 发展规模的“机器人” (robot )程序。刚开始时它只用来统计互联网上的服务器数量,后来则发展为能 够通过它检索网站域名。鉴于其在Web 上沿超链“爬行”的工作方式,这种程序 有时也称为“蜘蛛”(spider)。因此,在文献中crawler, spider, robot 一般都指的是 相同的事物,即在Web 上依照网页之间的超链关系一个个抓取网页的程序,通常 也称为“搜集”。在搜索引擎系统中,也称为网页搜集子系统。 现代搜索引擎的思路源于Wanderer,不少人在Matthew Grey 工作的基础上对 它的蜘蛛程序做了改进。1994 年7 月,Michael Mauldin 将John Leavitt 的蜘蛛程 序接入到其索引程序中,创建了大家现在熟知的 Lycos,成为第一个现代意义的 搜索引擎。在那之后,随着Web 上信息的爆炸性增长,搜索引擎的应用价值也越 来越高,不断有更新、更强的搜索引擎系统推出(下一节会有介绍)。