一、案例分析
1.倒排索引介绍
倒排索引是文档检索系统中最常用的数据结构,被广泛应用于全文搜索引擎。倒排索引主要用来存储某个单词(或词组)住一组文档中的存储位置的映射,提供了可以根据内容来查找文档的方式,而不是根据文档来确定内容,因此称为倒排索引(Inverted Index)。带有倒排索引的文件称为倒排索引文件,简称倒排文件(Inverted File)。
通常情况下,倒排文件由一个单词(或词组)和相关联的文档列表组成。如图所示。
从图可以看出,建立倒排索引的目的是为了更加方便地搜索。例如,单词1出现在文档1、文档4、文档13等文档中;单词2出现在文档2、文档6、文档10等文档中;而单词3出现住文档3、文档7等文档中。
在实际应用中,还需要给每个文档添加一个权值,用来指出每个文档与搜索内容的相关度,最常用的是使用词频作为权重,即记录单词或词组在文档中出现的次数。用户在搜索相关文档时,就会把权重高的推荐给客户。
下面以英文单词倒排索引为例。
上图可以看出,加权倒排索引文件中,每一行内容对每一个单词进行了加权索引,统计出单词出现的文档和次数。例如索引文件中的笫一行,表示“Hadoop”这个单词在文本filel.txt中出现过1次,在file4.txt中出现过2次,在filel