正排索引和倒排索引的差别

众所周知es是用了倒排索引,所以通过关键字或者词查询效率非常高。
但是昨天突然被问到什么是倒排索引,突然不知道怎么开口,于是重新复习一下。

那么什么是倒排索引呢?既然有倒排索引那有没有正排索引?答案是肯定的,于是我又搜索了什么是正排索引,这样可以加深我对倒排索引的理解,因为我觉得必须理解它为什么这样叫,才能记住它。

那么什么是正排索引呢?

我们举一个例子,假如有一个文件夹,里面有成千上万的文档,我需要找到里面包括“索引”这个关键词的所有文档,那么我们该怎么做呢?

正排索引

如果是使用正排索引,那就是我们按着文件夹文件的排列顺序,一个个的打开每一个文件,然后搜索文件内容中是否包含“索引”这个关键词,如果包括,那就记录一下文件a包含,以此类推,遍历所有的文件。
显而易见,这样查找非常的耗费时间。那么有没有什么办法呢,于是就有了倒排索引。
我们先思考一下,如果是你来做,你会怎么做,才能快速的找到所有的文件呢?
如果是我的话,最笨的办法,我文件整理的时候,我就记录好包含“索引”关键词的文件,这样我去搜索的时候,直接看“索引”这个关键词对应的文档列表就行了。 这样是不是快很多了。

那么问题来了,一个文件里面可能对应了很多字,很多词,我就需要把每个字,每个字都记录,这样是不是也超复杂,不过我们站在了巨人的肩膀上,es帮我们做好了这些工作

什么是倒排索引?

现在就好理解什么是倒排索引了,我们从遍历文件找关键词变成了从关键词找文件,与正排索引刚好相反,倒排索引记录了关键词在文档中的位置,频率等信息,方便我们准确快速的找到我们所需要的文档。

over

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值