探究 | ES倒排索引和分词

兄弟萌,相信大家在学习 Elasticsearch 都听说过倒排索引吧,下面我们尝试用最简单易懂的方式来讲讲 ES 中的倒排索引和分词。

倒排索引建立的是单词和文档 id 的关联关系,建立倒排索引时,首先从文档中拆分出词条,这个过程就是 “分词”。

1.倒排索引

1.1 什么是倒排索引?

我们要搞懂倒排索引,首先来看看什么是正排(正向)索引
在这里插入图片描述
我们知道通过文章 id 可以快速查找到文章内容,之所以检索比较快是因为文章 id 设置为主键,同时生成了主键索引,然后通过主键索引快速关联到存储信息,这种索引就称为 “正排索引”。

欸,看似正排索引能够实现快速检索数据的要求,那为什么需要倒排索引呢?

如果我们想查询文章中包含哪些热门词汇,这时候比较麻烦,我们要做模糊查询,每条数据都要去遍历,因此性能差,而且查找内容的大小写、时态等都会影响查找准确率。

OK,进入正题,看看什么是倒排索引!

我们要换种方式将索引和数据关联,这就需要用到 “倒排索引”。

你可能感兴趣的:(java,elasticsearch)