文章目录
书的目录与索引
书与搜索引擎是相似的。
·目录页对应正排索引
·索引页对应倒排索引
搜索引擎
·正排索引
-文档Id到文档内容、单词的关联关系
·倒排索引
-单词到文档Id的关联关系
正排与倒排索引简介
正排索引
-文档Id到文档内容、单词的关联关系
·倒排索引
-单词到文档Id的关联关系
倒排索引-查询流程
·查询包含"搜索引擎"的文档
-通过倒排索引获得"搜索引擎"对应的文档Id有1和3
-通过正排索引查询1和3的完整内容
-返回用户最终结果
倒排索引详解
倒排索引组成:
倒排索引是搜索引擎的核心,主要包含两部分:
-单词词典( Term Dictionary)
-倒排列表( Posting List )
倒排索引一单词词典
·单词词典( Term Dictionary )是倒排索引的重要组成
-记录所有文档的单词,一般都比较大
-记录单词到倒排列表的关联信息
·单词字典的实现一般是用B+ Tree ,示例如下图:
-下图排序采用拼音实现,构造方法参见如下网址
https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html
倒排索引-倒排列表
·倒排列表( Posting List )记录了单词对应的文档集合,由倒排索引项( Posting )组成
·倒排索引项( Posting )主要包含如下信息:
-文档Id ,用于获取原始信息
-单词频率( TF, Term Frequency ) ,记录该单词在该文档中的出现次数,用于后续相关性算分
-位置( Position ) ,记录单词在文档中的分词位置(多个) ,用于做词语搜索(Phrase Query)
-偏移( Offset ) ,记录单词在文档的开始和结束位置,用于做高亮显示·
以“搜索引擎”为例