倒排索引

倒排索引包含两个部分:单词词典和倒排列表

单词词典(Term Dictionary)

记录所有文档的单词,记录单词到倒排列表的关联关系。

单词词典一般比较大,可以通过B+ Tree或哈希拉链法实现,以满足高性能的插入与查询。

倒排列表(Posting List)

倒排列表记录了单词对应的文档组合,由倒排索引项组成。

倒排索引项包括:

  • 文档ID
  • 词频TF:该单词在文档中出现的次数,用于相关性评分
  • 位置(Position):单词在文档中分词的位置(第几个词),用于语句搜索
  • 偏移(Offset):记录单词的开始结束位置(第几个字符到第几个字符),实现高亮显示