elasticsearch倒排索引介绍

1. 倒排索引

1.1 书的目录就是书的索引

elasticsearch倒排索引介绍

1.2 倒排索引

elasticsearch倒排索引介绍

1.3 图书和索引引擎的类比

图书

  • 正排索引 - 目录页
  • 倒排索引 - 索引页

搜索引擎

  • 正排索引 - 文档 id 到文档内容和单词的关联
  • 倒排索引 - 单词到文档 id 的关系
    elasticsearch倒排索引介绍

1.4 倒排索引的核心组成

倒排索引包含两个部分

  • 单词词典(Term Dictionary) ,记录所有文档的单词,记录单词到倒排列表的关联关系 单词词典比较大,可以通过 B + 树 或者哈希拉链法实现,以满足高性能的插入与查询
  • 倒排列表(Postion List)- 记录了单词对应的文档结合,由倒排索引项组成

倒排索引

  • 文档 ID
  • 词频 TF - 单词在文档中的分词的位置。用于语句搜索(phrase query)
  • 偏移(Offset) - 记录单词的开始结束时间,实现高亮显示

1.5 Elasticsearch倒排索引实例

elasticsearch倒排索引介绍

1.6 Elasticsearch 倒排索引特点

Elasticsearch 的 JSON 文档中的每个字段,都有自己的倒排索引
可以指定对某些字段不做索引

  • 优点:节省储存空间
  • 缺点:字段无法被搜索
    参考资料:
    极客时间:Elasticsearch核心技术与实战

相关阅读:
初学elasticsearch入门
Elasticsearch本地安装与简单配置
docker-compose安装elasticsearch集群
Elasticsearch 7.X之文档、索引、REST API详解
Elasticsearch节点,集群,分片及副本详解
elasticsearch倒排索引介绍