栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

倒排索引

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

倒排索引

问题1)为什么会有倒排索引?

问题2)倒排索引是什么?(定义)

问题3)倒排索引的使用场景?


1,为什么会有倒排索引?

我们使用百度搜索,搜索记录的时候,是通过关键词和关键句子。是如何根据这些关键词,查询到对应的文档(页面)这些关键词是在数据库中怎么查询的呢?是用like吗?这样效率也太低了。所以就有了通过关键字查询文档的需求。这个需求肯定不能直接查询数据库,那该怎么办呢,所以ES就是为了解决这个问题。


2,倒排序?

倒排序的目标是根据关键字找到记录。(为了查询当前记录所在的位置)正排序的目标是根据关联字段,找到对应的关联记录内容。(为了查询关联的记录内容。)

例子:何为倒排索引?

常见的正常索引


假设我们要通过id去查找content,我们会将ID做成索引,加快我们的查找

现在的问题是我们要去查到那些content中有b这两个词

首先想到的是依次去尝试content中是否有b,显然在时间复杂度上是很大的,尤其是数据库中数量很多时

那么如何去解决这个问题?

现在都需要引入倒排索引的思想

我们已content做成索引,这样查找ID的时间就快很多

跟正向的索引比较,也就是做了一个倒置,这就是倒排索引的思想


3,倒排序使用场景?
根据倒排序的特性,为了查询当前关键字所以在记录的位置。1、全文搜索(搜索引擎)在一组文档中查找某一单词所在文档及位置2、模糊匹配通过用户的输入去匹配词库中符合条件的词条3、商品搜索通过商品的关键字去数据源中查找符合条件的商品

原文链接:https://mp.weixin.qq.com/s/71r6OZ9TTmD_gZ2XiqFhUw

作者:一起写程序


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/237020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号