找回密码
 立即注册
快捷导航

[中间件] ElasticSearch中你不知道的 正向索引 和 倒排索引

[复制链接]
深渊 2023-7-22 17:35:11 | 显示全部楼层
本帖最后由 深渊 于 2023-7-22 17:37 编辑

在搜索领域中最为重要的两个名词;

正向索引通常用于数据库中,在搜索引擎领域使用的最多的就是倒排索引,我们根据如下两个网页来对这两个概念进行阐述:

html1:我爱我的祖国,我爱编程

html2:我爱编程,我是个快乐的小码农

正向索引

假设我们使用mysql的全文检索,会对如上两句话分别进行分词处理,那么预计得到的结果如下:
我 爱 爱我 祖国 我的祖国 编程 爱编程 我爱编程

我 我爱 爱 编程 爱编程 我爱编程 快乐 码农 小码农

假设我们现在使用 正向索引 搜索 编程 这个词,那么会到第一句话中去查找是否包含有 编程 这个关键词,如果有则加入到结果集中;第二句话也是如此。假设现在有成千上百个网页,那么搜索的效率将会非常非常低些。

倒排索引

倒排索引是 按照 分词 与 文档 进行映射,我们来看看如果按照倒排索引的效果

关键词 文档名
html1,html2
html1,html2
爱我 html1
我爱 html2
祖国 html1
我的祖国 html1
编程 html1,html2
... ...

如果采用 倒排索引 的方式搜索 编程 这入词,那么会直接找到关键词中查找到 编程,然后查找到对应的文档,这就是所谓的倒排索引。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

温馨提示

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

Archiver|手机版|小黑屋|DLSite

GMT+8, 2024-11-23 00:38

Powered by Discuz! X3.5 and PHP8

快速回复 返回顶部 返回列表