1
文献信息 检索教程  第2版
1.3.1.2 3.1.2 搜索引擎的原理
3.1.2 搜索引擎的原理

搜索引擎,通常指的是收集了因特网上几千万个到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低依次排列。其核心的文档处理和查询处理过程与传统信息检索系统的运行原理基本类似,但其所处理的数据对象即因特网数据的繁杂特性决定了搜索引擎系统必须进行系统结构的调整,以适应处理数据和用户查询的需要。

一个搜索引擎由搜索器、索引器和检索器三部分组成,与之相对应,搜索引擎的原理就可以分为三个模块:①爬虫模块:从因特网网站上采集信息;②预处理模块:建立网页索引数据库;③查询服务模块:提供检索服务。如图3-1所示。

图3-1 搜索引擎工作原理

1.搜索器从因特网上采集信息

搜索器,也就是“蜘蛛”(Spider)程序,或爬虫(Crawler),或“机器人”(Robot)程序,其功能就是在因特网上漫游,爬来爬去,来抓取和收集信息。世界上第一个Spider程序,是MITMatthew Gray的World WideWeb Wanderer,用于追踪因特网发展规模。刚开始它只用来统计因特网上的服务器数量,后来则发展为也能够捕获网址(URL,统一资源定位符,Uniform Resource Locator,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址)。每个独立的搜索引擎都有自己的Spider,这种“网络蜘蛛”顺着网页中的超链接,连续地抓取网页,被抓取的网页被称为网页快照。由于因特网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能收集到绝大多数的网页。而且,由于搜索器是一个计算机程序,因此可以日夜不停地运行,尽可能多而快地搜集到各种类型的新信息,并定期地更新已经收集过的旧信息,以避免出现无效链接。

搜索器通常以两种方式运作:一种是以一个URL集合为基础,顺着这些URL中的超链接,依次请求响应的网络资源,并将其交给网页标引模块进行标引处理;另一种是将Web空间按照域名、IP地址或国别域名划分成子空间,让每个搜索器负责一个子空间的无穷尽搜索。

2.索引器建立索引数据库

搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。索引器的主要功能就是把搜索器收集的信息进行分类整理,提取出索引项和关键词,建立索引文件数据库。此外,索引器还起到去除重复网页、分词、判断网页类型、分析超链接、计算网页的重要度、丰富度等作用。不同的搜索引擎在进行信息分类整理时,有的会把“网络蜘蛛”发往每一个站点,记录下每一页的所有文本内容并收集到数据库中,从而形成全文搜索引擎;有的只记录网页的地址、篇名、特殊段落和关键词等,如目录搜索引擎。因此搜索引擎所整理的结果呈现形式是有明显差异的,所形成的索引数据库也大小不一。

3.检索器提供检索服务

检索器的功能是提供给用户检索界面并接收用户的检索要求,到索引数据库中进行信息匹配或直接依靠搜索器发现结果,进而为用户输出有相关性结果的信息。在检索时,用户可以通过输入关键词或短语进行检索,搜索引擎从索引数据库中查找相应的词语,找到匹配的网页;为了用户便于判断,除了网页标题和URL外,搜索引擎还会提供一段来自网页的摘要以及其他信息。

搜索引擎的运作就是通过搜索器、索引器和检索器三者的配合,在Internet上接收用户的查询指令、完成检索过程并给出反馈结果的过程。