检索系统学习笔记

1.双缓冲机制

倒排索引在内存中应该如何实时更新呢,因为会出现多个用户同时更新索引的情况,简单地读写锁会降低性能。

双缓冲机制是无锁的更新方法,使用A、B两份倒排索引,一份当前读,一份用来更新索引,用来读的在当前不能被更新,然后定期的两个交换身份。

2.全量索引结合增量索引的更新方法

双缓冲机制解决的是索引完全在内存中,不用加锁对倒排索引进行更新的问题,它的不足之处在于,对于海量的索引数据,必须存储在磁盘中的是不能使用的。

全量索引结合增量索引是指,根据全部数据在磁盘构建倒排索引,在需要更新索引时,在内存构建。对于查找,需要同时检查磁盘上的全量索引表和内存中的增量索引表,然后最后合并结果。

全量索引和增量索引,对于删除的索引,直接在内存构建一个删除列表。

3.相同点

双缓冲机制和全量索引与增量索引,这两种都是通过读写分离来实现无锁更新。

相关推荐
\光辉岁月/24 分钟前
1.mybatis学习-基础
学习·mybatis
へ蟲児.1 小时前
2026三大自带完整体系的英语学习App深度测评:哪款更适合儿童启蒙?
学习
苦猿的大模型日记1 小时前
Day64|从0学习 Claude Code(十四):MCP,给 Agent 装个工具插座
学习
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(82):ReasoningBank——从成功与失败经验中沉淀可复用的推理记忆
论文阅读·人工智能·学习·开源·github
灯澜忆梦3 小时前
【RabbitMQ #3】 | Go 客户端 + SpringAMQP
分布式·golang·rabbitmq
旖旎夜光3 小时前
LeetCode 137 : 只出现一次的数字 II(位运算) —— 题解
c++·笔记·学习·算法·leetcode·力控
凉、介3 小时前
深入理解 ARM SCP Firmware 的 Event 与 Notification 机制
学习·scp·嵌入式·arm
minglie13 小时前
几何变换群矩阵表示与埃尔朗根纲领
学习
dadaobusi4 小时前
学习: ARM SMMU stream id
arm开发·学习
FelixZhang0284 小时前
量化求真10|回测通过以后,策略就能上场吗?
人工智能·python·深度学习·学习·机器学习·金融·lstm