搜索引擎系列1:什么是正向索引?什么是倒排索引?

时间:2021-01-23 21:07:15

什么是正向索引、什么是倒排索引?

       正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。

       在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置,得到正向索引的结构如下:

       “文档1”ID >单词1:出现次数,出现位置列表;单词2:出现次数,出现位置列表;…………

       “文档2”ID >此文档出现的关键词列表。

       当用户在主页上搜索关键词华为手机时,假设只存在正向索引(forward index),那么就需要扫描索引库中的所有文档,找出所有包含关键词华为手机的文档,再根据打分模型进行打分,排出名次后呈现给用户。因为互联网上收录在搜索引擎中的文档的数目是个天文数字,这样的索引结构根本无法满足实时返回排名结果的要求。

       所以,搜索引擎会将正向索引重新构建为倒排索引,即把文件ID对应到关键词的映射转换为关键词到文件ID的映射,每个关键词都对应着一系列的文件,这些文件中都出现这个关键词,得到倒排索引的结构如下:

       “关键词1”文档1”ID文档2”ID…………

       “关键词2”:带有此关键词的文档ID列表。



注:入门级理解,持续更新ing(时:2015.7.10)