笔记五:倒排索引
正排索引-目录结构
- 书的目录就是书的索引
倒排索引
图书和索引引擎的类比
- 图书
- 正排索引 - 目录页
- 倒排索引 - 索引页
- 搜索引擎
- 正排索引 - 文档id到文档内容和单词的关联
- 倒排索引- 单词到文档id的关系
倒排索引的核心组成
- 倒排索引包含两个部分
- 单词词典(Term Dictionary) ,记录所有文档的单词,记录单词到倒排列表的关联关系
- 单词词典比较大,可以通过B+树 或者 哈希拉链法实现,以满足高性能的插入与查询
- 倒排列表(Postion List)- 记录了单词对应的文档结合,由倒排索引项组成
- 倒排索引
- 文档ID
- 词频TF - 单词在文档中的分词的位置。用于语句搜索(phrase query)
- 偏移(Offset) - 记录单词的开始结束时间,实现高亮显示
- 倒排索引
- 单词词典(Term Dictionary) ,记录所有文档的单词,记录单词到倒排列表的关联关系
例子: Elasticsearch
Elasticsearch 的倒排索引
- Elasticsearch 的JSON 文档中的每个字段,都有自己的倒排索引
- 可以指定对某些字段不做索引
- 优点:节省储存空间
- 缺点:字段无法被搜索
本作品采用《CC 协议》,转载必须注明作者和本文链接