倒排索引
倒排索引包含两个部分:单词词典和倒排列表
单词词典(Term Dictionary)
记录所有文档的单词,记录单词到倒排列表的关联关系。
单词词典一般比较大,可以通过B+ Tree或哈希拉链法实现,以满足高性能的插入与查询。
倒排列表(Posting List)
倒排列表记录了单词对应的文档组合,由倒排索引项组成。
倒排索引项包括:
- 文档ID
- 词频TF:该单词在文档中出现的次数,用于相关性评分
- 位置(Position):单词在文档中分词的位置(第几个词),用于语句搜索
- 偏移(Offset):记录单词的开始结束位置(第几个字符到第几个字符),实现高亮显示