现在的位置: 首页 > 综合 > 正文

搜索引擎的索引和搜索

2013年11月15日 ⁄ 综合 ⁄ 共 826字 ⁄ 字号 评论关闭
对于网络蜘蛛技术和排序技术请参考作者其它文章[1][2],这里以Google搜索引擎为例主要介绍搜索引擎的数据索引和搜索过程。

数据的索引分为三个步骤:网页内容的提取、词的识别、标引库的建立。

互联网上大部分信息都是以HTML格式存在,对于索引来说,只处理文本信息。因此需要把网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的广告信 息,同时记录文本的版面格式信息[1]。词的识别是搜索引擎中非常关键的一部分,通过字典文件对网页内的词进行识别。对于西文信息来说,需要识别词的不同 形式,例如:单复数、过去式、组合词、词根等,对于一些亚洲语言(中文、日文、韩文等)需要进行分词处理[3]。识别出网页中的每个词,并分配唯一的 wordID号,用于为数据索引中的标引模块服务。

标引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引:文档标引和关键词标引。 文档标引分配每个网页一个唯一的docID号,根据docID标引出在这个网页中出现过多少过wordID,每个wordID出现的次数、位置、大小写格 式等,形成docID对应wordID的数据列表;关键词标引其实是对文档标引的逆标引,根据wordID标引出这个词出现在那些网页(用wordID表 示),出现在每个网页的次数、位置、大小写格式等,形成wordID对应docID的列表。

关于索引数据的详细数据结构,有兴趣的朋友可以参看文献[4]。

搜索的处理过程是对用户的搜索请求进行满足的过程,通过用户输入搜索关键字,搜索服务器对应关键词字典,把搜索关键词转化为wordID,然后在标引库中 得到docID列表,对docID列表进行扫描和wordID的匹配,提取满足条件的网页,然后计算网页和关键词的相关度,根据相关度的数值返回前K篇结 果(不同的搜索引擎每页的搜索结果数不同)返回给用户。如果用户查看的第二页或者第多少页,重新进行搜索,把排序结果中在第K+1到2*K的网页组织返回 给用户。其处理流程如下图所示:

 

抱歉!评论已关闭.