网站首页 > 博客文章 正文
要了解倒排索引,先看一下什么是正排索引。比如有下面两句话:
- id1, “搜索引擎提供检索服务”
- id2, “搜索引擎是信息检索系统”
正排索引
正排索引就是 MySQL 里的 B+ Tree,索引的结果是:
- “搜索引擎是信息检索系统” -> id2
- “搜索引擎提供检索服务” -> id1
表示对完整内容按字典序排序,得到一个有序的列表,以加快检索的速度。
倒排索引
第一步 分词
- “搜索引擎-提供-检索-服务” -> id1
- “搜索引擎-信息-检索-系统” -> id2
第二步 将分词项构建一个词典
- 搜索引擎
- 提供
- 检索
- 服务
- 信息
- 系统
第三步 构建倒排链
- 搜索引擎 -> id1, id2
- 提供 -> id1
- 检索 -> id1, id2
- 服务 -> id1
- 信息 -> id2
- 系统 -> id2
由此,一个倒排索引就完成了,搜索 “检索” 时,得到 id1, id2,说明这两条数据都有,搜索 “服务” 只有 id1 存在。但如果搜索 “检索系统”,此时会先建搜索词按照与构建同一种策略分词,得到 “检索-系统”,两个词项,分别搜索 检索 -> id1, id2 和 系统 -> id2,然后对其做一个交集,得到 id2。同理,通过求并集可以支持更复杂的查询。
倒排索引到此也就讲清楚了吧。
存储结构
以 Lucene 为例,简单说明一下 Lucene 的存储结构。从大到小是Index -> Segment -> Doc -> Field -> Term,类比 MySQL 为 Database -> Table -> Record -> Field -> Value。
转自:https://my.oschina.net/yunqi/blog/3049807
猜你喜欢
- 2024-10-27 MySQL 为什么使用数据索引能提高效率
- 2024-10-27 Elasticsearch 在地理信息空间索引的探索和演进
- 2024-10-27 终于有人把Elasticsearch原理讲透了(二)
- 2024-10-27 PostgreSQL技术内幕6:PostgreSQL索引技术
- 2024-10-27 ElasticSearch的分布式架构原理(吐血整理!)
- 2024-10-27 「漫画」elasticsearch原理就是这么简单(上)
- 2024-10-27 Elasticsearch读书笔记(二)(elasticsearch 书推荐)
- 2024-10-27 搜索引擎原理系列教程:收录、索引、排名
- 2024-10-27 什么是预处理: 预处理简称为“索引”
- 2024-10-27 陈年SEO:解密百度SEO排序影响因素
你 发表评论:
欢迎- 368℃用AI Agent治理微服务的复杂性问题|QCon
- 362℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 347℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 343℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)