为了账号安全,请及时绑定邮箱和手机立即绑定

很多搜索引擎都是基于倒排索引

标签:
CSS3

很多搜索引擎都是基于倒排索引比如luncenesolr以及elasticsearch

正排索引

聊倒排搜索之前先来看看正排索引正排其实就是数据库表他通过id和数据进行关联如下

数据id数据内容
1001苹果公司发布iPhone
1002地球引力起源于苹果
1003iPhone屏幕碎了
1004我在苹果商店维修屏幕
1005我刚刚吃了苹果

我们可以通过搜索id来获得相应的数据也能删除数据。你买了一本书书的目录其实也是正排搜索。

假设现在我要搜苹果俩字那么他会对这张表格中每一行的数据做匹配去查找一下是否包含苹果这两个字从第一条匹配到最后一条如果一张表中数据量不多几万十几万那么问题不大但是一旦数据量有上百万上千万那么全表扫描这种的搜索性能就会有影响。

其次这个时候我想搜索苹果iPhone那么我们无法把这词汇拆开再到数据库去搜索。

  • 优点使用起来方便原理也简单比较入门

  • 缺点检索效率低下适合简单场景使用比如传统项目数据量较小的项目。不支持分词搜索。

倒排索引

与正排是反着来的他会把文档内容进行分词比如苹果公司发布iPhone是一个文档数据当我们把他存入到搜索引擎中去的时候会有一个文档id这个文档id就类似于数据库主键。但是这文档存储的时候和数据库不一样他会进行一个分词参照上面的表格分词后的结果如下

文档数据分词结果
苹果公司发布iPhone苹果公司发布iPhone
地球引力起源于苹果地球引力起源于苹果
iPhone屏幕碎了iPhone屏幕碎了
我在苹果商店维修屏幕我在苹果商店维修屏幕
我刚刚吃了苹果我刚刚吃了苹果



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消