上一章:搜索引擎爬虫的工作原理
2.2 搜索引擎索引
在搜索引擎技 术中索引是核心技术之一,索引技术直接关乎到用户搜索关键词所查询到的网页。
2.2.1索引基本概念
搜索引擎的索引基本模型为单词-文档矩阵。
图3
从以上表格中可以看出:横向可以看出哪些文档中包含了某词汇,纵向可以看出,某个文档中包含了哪些关键词。
搜索引擎的索引即实现单词——文档矩阵的数据结构,在实际应用中有很多中方式可以实现,下面以常见的倒排索引为例说明。
2.2.3倒排索引的概念
在倒排索引中有很多专业术语,下面一一简单介绍:
- 文档:该对象为搜索引擎所处理的所有以文本形成储存的对象,如html、xml、txt、pdf等等文档,表征文本信息。
- 文档集合:由若干文档集合所形成的文档集合。
- 单词编号:系统会给予每个单词一个ID编号,以此作为单词的唯一识别标志。
- 文档编号:系统会给予每个文章一个ID编号,以此作为文章的唯一识别标志。
- 倒排索引:倒排索引是实现单词-文档矩阵的一种储存方式,主要包含单词词典与倒排文件两部分,能够实现根据单词,快速获取包含此关键词文档列表。
- 单词词典:单词词典是文档集合中所包含的所有单词的集合
- 倒排列表:记录了出现某单词的所有文档集合,以及出现在这些文档中的位置信息等等。每个单词的记录称为倒排项。
倒排文件:所有单词的倒排列表都是以文件形式有规律的储存在磁盘中的,所以这些文件成为倒排文件。如图4所示:
图4
2.2.4倒排索引的原理
倒排索引需要定义单词列表,而中文单词之间没有明确的标点符号,所以需要借助中文分词系统,将文档自动切分成若干关键词,为了系统后续处理工作,每个关键词会赋予唯一的id编号,同时记录下包含该关键词的所有文档信息。
而在倒排索引的实际应用中,索引系统会记录更多的信息才能满足需求。比如还需记录
单词频率信息:某个单词出现在某文档中的次数,单词的频率一定程度了影响了该文档与该词的相关性。
文档频率信息:即文档集中有多少个文档包含了某关键词,与单词频率信息相似,在搜索结果的排序计算中都起到了一个重要作用。
单词的位置信息:即某关键词出现在页面中的位置,这一项记录不是必须的,只有支持短语查询的时候才有可能需要用到。
如图5:
图5
搜索引擎的倒排列表是进行搜索结果收集与筛选的第一步,用户比如用户搜索“搬家公司”通过索引系统,调取所有包含该词的文档,通过分析单词频率信息,文档频率等等信息,初步按照文档与关键词的相似性排列输出。