Elasticsearch倒排索引什么意思

倒排索引是搜索引擎的重要组成部分,它不同于传统的正向索引。倒排索引将每个词作为索引,指向包含这个词的文档ID列表,从而实现快速查找。创建倒排索引包括对原始文档编号、分词和建立词条到文档ID的映射。搜索时,通过对用户输入分词,匹配倒排索引找到相关文档。这一技术显著提升了全文检索的效率。
摘要由CSDN通过智能技术生成

一、应该叫反向索引,古人的翻译真是一言难尽。

英文原名Inverted index,大概因为 Invert 有颠倒的意思,就被翻译成了倒排。但是倒排这个名称很容易让人理解为从A-Z颠倒成Z-A。

简单来说(不是很精确)就是mysql的普通字段的索引。不同的是,还要把文档里的每一个词拆出来做主键,指向所有包含这个词的文档。

二、mysql辅助理解(不是很准确,但是有助于理解

正向索引:相当于mysql的每行的id的索引
反向索引:相当于mysql的每行的其它字段的索引

一个未经处理的数据库中,一般是以文档ID作为索引,以文档内容作为记录。
而Inverted index 指的是将单词或记录作为索引,将文档ID作为记录,这样便可以方便地通过单词或记录查找到其所在的文档。

三、优势

四、创建倒排索引,分为以下几步:

1)创建“文档”列表:

l lucene首先对原始文档数据进行编号(DocID),形成列表,就是一个文档列表

2)创建“倒排索引”列表

l 然后对文档中数据进行分词,得到词条。对词条进行编号,以词条创建索引。然后记录下包含该词条的所有文档编号(及其它信息)。

谷歌之父--> 谷歌、之父

五、理论

倒排索引创建索引的流程:

1) 首先把所有的原始数据进行编号,形成文档列表

2) 把文档数据进行分词,得到很多的词条,以词条为索引。保存包含这些词条的文档的编号信息。

搜索的过程:

当用户输入任意的词条时,首先对用户输入的数据进行分词,得到用户要搜索的所有词条,然后拿着这些词条去倒排索引列表中进行匹配。找到这些词条就能找到包含这些词条的所有文档的编号。

然后根据这些编号去文档列表中找到文档

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值