倒排索引
倒排索引是ES实现快速搜索功能的核心概念,倒排索引的使用可以提高搜索的效率和准确性,特别是在处理大规模文本数据时。它是搜索引擎等文本处理系统中常见的核心技术之一。
要了解什么是倒排索引的话,要知道什么是正向索引
什么是正向索引?
先通过文件名找到具体的文件,再获取文件中的内容过程
mysql的查询功能就是正向索引的思想
先根据ID查询记录,再从记录中获取相关字段的数据
什么是倒排索引?
简单来说就是从文件的内容查找,得到包含这些内容的文件列表,再得到文件对应的信息,如文件名、作者、文件大小、创建时间等
倒排索引的搜索过程可以分为以下几个步骤:
1、将文档的内容通过算法进行分词,得到一个词条列表
2、将词条列表当作key,包含该词条的文档id列表作为值,形成一张表 例如
原始文档
词条表
3、词条是唯一的,所以给词条创建索引,提高搜索效率
4、把要搜索的内容进行分词,根据分词后的结果去词条进行匹配
4、通过词条查询,得到文档ID,再通过文档ID查询到具体的文档