ElasticSearch-倒排索引简介

索引

什么是索引,书的目录我们都看过,该目录的作用就是帮住我们快速的找到我们所需要的内容,例如 我们要找到书中的标题的关键字,然后再通过页码就能快速定位到我们需要看的内容。其实我们数据库里面也是这样的原理。建立索引, 给数据排序,通过 ‘页码’,快速查询到我们需要的数据。

正向索引和倒排索引

正向索引

上面我们说的通过页码查询到自己想要的内容就是正向索引。

好处:

易于维护:新增的话直接跟在原来的后面,删除的话直接删除某一条即可

缺点:

查询时间长,有些场景查询效率比较低

倒排索引

通过你要查找的关键字作为索引, 在数据存入的时候,将存储内容进行算法处理,将内容中的关键词和出现的次数,进行分析,统计,存储。保存成一种特殊格式的数据结构。在全文检索的时候,能够提供快速查询的功能。
在这里插入图片描述
这里面我们举个简单的例子,查询 小米 NFC 手机 等关键字 相关的内容。
如果我们通过MySQL的 SQL语句查询,就会造成全表扫描,搜索效率比较低。如果使用左下方的数据结构是不是就能很快的找到我们所需要的数据了。

从上面的例子我们能够体会到倒排索引原理就是

倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。

优点

检索的快速响应是一个最为关键的性能

缺点

倒排表的建立和维护都较为复杂(索引建立由于在后台进行,尽管效率相对低一些,但不会影响整个搜索引擎的效率)

后面我们继续写一下倒排索引的实现原理和数据结构。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大伟攀高峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值