正排索引和倒排索引理解详解

📝 ✏️ 📌
正排索引和倒排索引理解详解

正排索引和倒排索引理解详解

一、正排索引二、 倒排索引三、为什么搜索引擎选用倒排索引?四、倒排索引优点五、小结

叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

一、正排索引

蜘蛛爬虫经过文字提取、中文分词、去重等操作后,得到的就是独特的、能反应页面的主题内容、以词为单位的字符串。接下来搜索引擎索引程序就可以提取关键词了,为该页面建立与关键词的对应关系,而这个过程就叫做正排索引。

1.正排索引: 由文档指向关键词

文档--> 单词1 ,单词2

单词1 出现的次数 单词出现的位置; 单词2 单词2出现的位置 ...

正排索引:在搜索栏输入id查词条

(已知id)

二、 倒排索引

当用户在搜索引擎搜索框中输入关键词的时候,搜索引擎就会把和关键词有关的页面展现给用户,而这个过程就叫做倒排索引。

2.倒排索引: 由关键词指向文档

单词1--->文档1,文档2,文档3

单词2--->文档1,文档2

倒排索引:

将搜索框中的词进行搜索查到哪些id包含这个词,在查这些id,找到词条

(通过分词查出id)

三、为什么搜索引擎选用倒排索引?

正排索引是不能直接用于排名的,如果只存在正排索引,排名程序需要扫描所有索引库中的文件,找出包含这个关键词的文件,在进行相关性的计算。这样就不能实时返回排名结果。

所以,搜索引擎会将正排索引数据库重新构造为倒排索引,把页面对应到关键词的关系表,转化为关键词对应的页面。

这样,当用户搜索某个关键词的时候,排名程序在倒排索引中定位这个关键词,就可以马上找到所有包含这个关键词的页面。

四、倒排索引优点

(1)不需要锁,提升并发能力,避免锁的问题。

(2)数据不变,一直保存在os cache中,只要cache内存足够。

(3)filter cache一直驻留在内存,因为数据不变。

(4)便于数据压缩,可以大幅度提高压缩率,节省cpu和io开销。

(5)在处理复杂的多关键字查询时,可在倒排表中先完成查询的并、交等逻辑运算,得到结果后再对记录进行存取,这样把对文档的查询转换为地址集合的运算,从而提高查找速度。

五、小结

正排索引和倒排索引的区别简单记为:

正排索引:文档 ---> 单词

倒排索引:单词 ---> 文档

倒排索引有着广泛的应用场景,比如: 搜索引擎、大规模数据库索引、文档检索、多媒体检索/信息检索领域等等。 总之,倒排索引在检索领域是很重要的一种索引机制。

Ending! 更多课程知识学习记录随后再来吧!

就酱,嘎啦!

注: 1、人生在勤,不索何获。 2、正排索引和倒排索引的区别参见博文:https://blog.csdn.net/u011243684/article/details/85264284

🔗 相关推荐

✨ 💡 🎯
吃鸡加速器哪个好?2025年绝地求生稳定加速器推荐
LOL索拉卡皮肤全解析:从经典到稀有,一网打尽!
开彩365下载安装

LOL索拉卡皮肤全解析:从经典到稀有,一网打尽!

📅 11-04 👀 5698
新疆自驾游15天亲测攻略 | 独库公路全段图解+本地人住宿指南