目录
图书和搜索引擎的类比
-
图书
-
正排索引 ==目录页
-
倒排索引 == 索引页
-
-
索引引擎
-
正排索引 ==文档ID到文档内容和单词的关联
-
倒排索引 ==单词到文档ID的关系
-
正派索引和倒排索引
-
正排索引 ==文档ID到文档内容和单词的关联
-
倒排索引 ==单词到文档ID的关系
-
DocumentId:Position == 文档id和该单词在文档出现的位置
倒排索引的核心组成
-
倒排索引包含两部分
-
单词词典,记录所有文档的单词,记录单词到倒排列表的关联关系
-
单词词典一般比较大,可以通过B+树或者哈希拉链发实现,以满足高性能的插入与查询
-
-
倒排列表 ==记录了单词对应的文档结合,由倒排索引项组成
-
倒排索引项
-
文档ID
-
词频TF-该单词在文档出现的次数,用于相关性评分
-
位置 ==单词在文档中分词的位置,用于语句搜索
-
偏移 ==记录单词的开始位置,实现高亮显示
-
-
-
- 一个例子:Elasticsearch
-
ElasticSearch的JSON文档中的每个字段,都有自己的倒排索引
-
可以指定对某些字段不做索引
-
优点:节省存储空间
-
缺点:字段无法被搜索
-