索引倒排

正向索引:左边是文档编号,右边是关键词

正向索引的结构像下面这样子的: 

文档编号1  此文档中出现的关键词列表(单词1,出现位置,出现次数;单词2,出现位置,出现次数………..)

文档编号2  此文档中出现的关键词列表

正向索引还是需要遍历扫描(扫描所有正向索引文件才知道哪些文档带有某个关键词),性能比较慢。

倒排索引:左边是关键词,右边是文档编号

关键词1   带有此关键词的文档编号1,文档编号2….

关键词2   带有此关键词的文档编号1,文档编号2….

Lucerne使用的是倒排文件索引结构。该结构及相应的生成算法如下:    

设有两篇文章1和2:

文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.    

文章2的内容为:He once lived in Shanghai.

关键词            文章号[出现频率]              出现位置   
guangzhou           1[2]                      3,6   
he                  2[1]                      1   
i                   1[1]                      4   
live                1[2]                      2,5, 
                    2[1]                      2   
shanghai            2[1]                      3   
tom                 1[1]                      1


原文地址:https://www.cnblogs.com/yan456jie/p/5369535.html