对于还
问题:在10万封邮件(文档集合)中查找包含“谷歌”(单词)的邮件;
常规解决方法:邮件查找谷歌——顺序查找每封邮件,然后索引出包含谷歌的邮件,耗时,效率低。
倒排索引:谷歌定位邮件。
倒排索引——单词词典和倒排文件
单词词典:单词是搜索引擎的单位,通常我们回将我们要索引的文档集合进行分词处理,所有文档中出现的所有单词组成的集合叫做单词词典。单词词典内的每条索引项记载单词本身的一些信息以及指向倒排列表的指针。 一般使用hash+链表的查询结构
倒排列表:记载单词所在的所有文档列表,出现的次数,以及出现的位置等信息。每条记录成为倒排项。
所有单词的倒排列表顺序地存储在磁盘中的文件中,该文件就是倒排文件。
典型例子,给出如下的文档
由他得到的倒排索引如下:
“文档频率信息”代表了在文档集合中有多少个文档包含某个单词,这个信息在搜索结果排序计算中是非常重要的一个因子。
DocId:单词出现的文档id
TF:单词在某个文档中出现的次数
POS:单词在文档中出现的位置