Elasticsearch的倒排索引是一种用于文本检索的数据结构,它通过将单词与文档的关系反向建立索引,以便快速找到包含特定单词的文档。这种数据结构是基于Lucene实现的,Elasticsearch通过简化Lucene的复杂性,提供了一套简单一致的RESTful API。倒排索引的核心在于它能够快速地进行关键词的查找和匹配,这得益于其高效的数据结构(如B-Tree、哈希表等)
在正排索引中,我们通常会记录每个文档中包含的所有单词以及它们在文档中的位置。
但在倒排索引中,我们会记录每个单词出现在哪些文档中,从而能够快速定位包含特定单词的文档。
倒排索引的主要组成部分有两个:
1、词项表(Term Lexicon):
词项表存储了所有出现过的单词及其对应的唯一标识符。这样的标识符通常是单词的哈希值或者编号。
2、倒排文件(Inverted File):
对于每个单词,倒排文件记录了包含该单词的文档列表。对于每个文档,记录了单词在文档中的位置。这样,通过倒排文件,可以快速找到包含某个单词的文档以及它们在文档中的位置。
搜索引擎3
elasticsearch7
搜索引擎 · 目录
上一篇【云原生】Elasticsearch + Kibana on k8s 讲解与实战操作
领取专属 10元无门槛券
私享最新 技术干货