ElasticSearch 倒排索引

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1nF411F75k?p=5

什么是正排索引?

正排索引,也叫正向索引

像:

文章ID 文章标题 文章内容
1 浅析Java设计模式 Java设计模式是每一个Java程序员都应该掌握的进阶知识
2 Java多线程设计模式 Java多线程与设计模式结合

这种数据结构,我们使用的时候一般是通过文章ID去查找文章标题和文章内容



那么倒排索引呢?

倒排索引又叫反向索引。

正向索引是通过主键定位到某条数据;反向索引则正好相反,是数据对应到主键。

实现、结构如下:

ElasticSearch倒排索引1.png

所以我们就可以进行全文检索,并快速定位到数据位置。


比如,我们有一个站内搜索的功能,通过某个关键词来搜索相关的文章,那么这个关键词可能出现在标题中,也可能出现在文章内容中,那我们将会在创建或修改文章的时候,

建立一个关键词与文章的对应关系,这种,我们可以称之为倒排索引。

关键词 文章ID
Java 1
设计模式 1,2
多线程 2