倒排索引关键点普及

倒排索引

倒排索引是什么?为什么es、hbase、doris、starrocks都有倒排索引?

倒排索引(英文:Inverted Index),是一种索引方法,常被用于全文检索系统中的一种单词文档映射结构。现代搜索引擎绝大多数的索引都是基于倒排索引来进行构建的,这源于在实际应用当中,用户在使用搜索引擎查找信息时往往只输入信息中的某个属性关键字,如一些用户不记得歌名,会输入歌词来查找歌名;输入某个节目内容片段来查找该节目等等。面对海量的信息数据,为满足用户需求,顺应信息时代快速获取信息的趋势,聪明的开发者们在进行搜索引擎开发时对这些信息数据进行逆向运算,研发了"关键词------文档"形式的一种映射结构,实现了通过了物品属性信息对物品进行映射,可以帮助用户快速定位到目标信息,极大地降低了信息获取难度。倒排索引又叫反向索引,它是一种逆向思维运算,是现代信息检索领域里面最有效的一种索引结构。

倒排索引组成

倒排表:posting list : int有序数组,存储匹配某个item的所有的id,使用roaring bitmaps,frame of reference压缩算法,具体算法可以自行百度,

倒排索引 词项字典term dictionary :

词项索引 term index : 极大的节约内存,使用fst压缩算法,最大可达20倍,,性能不如hashmap,但也很不错

fst构建原理

使用fst算法将词项字段和词项索引存储在内存中,由于压缩倍率大,十亿个词项字典进行fst解析之后,存储在内存中也就1G大小,fst是如何将词项字典和词项索引进行映射的呢? 由于所有英文,或者中文进行解析之后,最终都是有26个英文字母对应,由于fst算法能复用后缀和前缀,因此极大节约了结构树的长度,使得最终存储在内存中,相比普通tree存储节省了内存。下图所示:

相关推荐
AI周红伟3 小时前
一天赚5个亿的超级个体天花板李一舟:普通人可借鉴的6点
大数据·人工智能·搜索引擎·copilot·openclaw
摇滚侠5 小时前
自动补全 黑马 Elasticsearch 全套教程,黑马旅游网案例
大数据·elasticsearch·搜索引擎
逸Y 仙X5 小时前
文章二十一:ElasticSearch 词项查询与调度查询实战
java·大数据·数据库·elasticsearch·搜索引擎
摇滚侠5 小时前
数据聚合 黑马 Elasticsearch 全套教程,黑马旅游网案例
大数据·elasticsearch·搜索引擎
历程里程碑10 小时前
MySQL数据类型全解析 + 代码实操讲解
大数据·开发语言·数据库·sql·mysql·elasticsearch·搜索引擎
Adolf_199310 小时前
Mac 配置Homebrew + Oh My Zsh + npm全局权限问题
大数据·elasticsearch·搜索引擎
摇滚侠1 天前
数据同步 黑马 Elasticsearch 全套教程,黑马旅游网案例
大数据·elasticsearch·搜索引擎
AI周红伟1 天前
数字人,视频,图片用不过时
大数据·人工智能·搜索引擎·copilot·openclaw
南棱笑笑生1 天前
20260503给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Android14时适配AP6256
大数据·elasticsearch·搜索引擎·rockchip
逸Y 仙X1 天前
文章二十:Elasticsearch高亮搜索完全指南
java·大数据·运维·elasticsearch·搜索引擎·全文检索