检索系统学习笔记

1.双缓冲机制

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

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

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

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

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

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

3.相同点

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

相关推荐
ZhiqianXia2 小时前
PyTorch学习笔记(6) : torch.autograd
pytorch·笔记·学习
网络工程小王2 小时前
【提示词工程和思维链的讲解】学习笔记
人工智能·笔记·学习
程序员雷欧2 小时前
大模型应用开发学习第五天
学习
不灭锦鲤2 小时前
网络安全学习(面试题)
学习·安全·web安全
babe小鑫2 小时前
2026大专商务英语毕业学习数据分析指南
学习·数据挖掘·数据分析
weitingfu3 小时前
Excel VBA 入门到精通(二):变量、数据类型与运算符
java·大数据·开发语言·学习·microsoft·excel·vba
lingggggaaaa3 小时前
PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘
android·学习·安全·web安全·php
圣光SG3 小时前
项目分析与程序设计 学习笔记
笔记·学习·学习笔记·程序设计·项目分析
不灭锦鲤3 小时前
总结反思没有挖到洞的原因
学习