《introduction to information retrieval》信息检索学习笔记4 索引结构

第4章 索引结构(Index construction)4.1 硬件基础知识(Hardware basics)√为了最大化数据传输速率,一起读取的数据块应在磁盘上连续存储。√操作系统通常读取和写入整个区块,常见的的块大小是8、16、32和64 KB(KB)。√从磁盘到内存的数据传输由系统总线处理,处理器可以在磁盘输入/输出过程中处理数据。√可在磁盘上存储压缩数据来加速数据传输。回顾倒排索...
摘要由CSDN通过智能技术生成

第4章 索引结构(Index construction)

4.1 硬件基础知识(Hardware basics)

√为了最大化数据传输速率,一起读取的数据块应在磁盘上连续存储。
√操作系统通常读取和写入整个区块,常见的的块大小是8、16、32和64 KB(KB)。
√从磁盘到内存的数据传输由系统总线处理,处理器可以在磁盘输入/输出过程中处理数据。√可在磁盘上存储压缩数据来加速数据传输。

回顾倒排索引构建:通过集合组装所有的term-docID对。term作为主键,docID作为辅助键进行排序,最后将每个词项的docID组织到一个倒排记录表中,并计算诸如词项和文档频率之类的统计数据。
对于小的集合,可在内存中完成。而对于大型集合,内存无法满足时,需要使用辅助存储器。

4.2 基于块的排序索引(Blocked sort-based indexing)

·基于块的排序索引算法BSBI(blocked sort-based indexing algorithm):该算法将文档解析为termID-docID对,并将它们在内存中积累,直到固定大小的块被填满。选择块大小来适应内存,以允许快速的内存排序。然后这个块被倒排并写到磁盘上。

√ 步骤:
(1)将集合分割成大小相等的部分;
(2)对内存中每个部分的词项ID-文档ID对排序;
(3)将中间排序的结果存储在磁盘上;
(4)将所有中间结果合并到最终索引中。

√ 合并:为进行合并,同时打开所有块文件,并为正在访问的区块维护小的读缓冲区,以及正在编写的最终合并索引的写缓冲区。在每次迭代中,使用优先队列或类似数据结构选择尚未处理的最低词项ID。这个词项ID的所有倒排记录表列表都被读取和合并,合并后的列表被写回磁盘。必要时,每个读取缓冲区都从其文件中重新填充。

√ Eg.把这个应用到路透社-rcv1。
假设将1000万个词项ID-文档ID对到内存中,最终得到10个块,每一个都是集合的一个部分的倒排索引。在最后一步中,算法同时将10个块合并到一个大的合并索引中。

在这里插入图片描述

图4.1基于块的排序索引。文件中存储反向块并在中存储合并的索引。
在这里插入图片描述

图4.2合并基于块的排序索引。两个块从磁盘加载到内存

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值