索引压缩

统计特性

  • 30定律:出现频率最高的30%的词在书面文本占用了30%的出现比例
  • Heaps定律:词项数目的估计。 M=kTb
    这里写图片描述
    M是文档集的distinct词汇的大小, T是文档集中所有的token。

  • Zipf定律:对词项的分布建模: cfi1i
    这里写图片描述
    cfi 是文档集频率排名为i的词汇,

词典压缩

  • Naive方法
    每个词20B,文档频率4B(32位的数字),地址指针4B(32位的系统可访问4G地址空间)
    总共占用的存储空间为 M×(20+4+4)

  • 词典看成单一字符串
    这里写图片描述
    英语中term的平均长度是8B。如上图,所有term变成一个长的字符串,使用位置指针,在term的存储上节省了12B,额外使用一个指针。
    假如数据库中有400 000 个term, 地址空间为 400000×8=3.2×106 ,用一个指针 Log23.2×106=22bit=3B
    文档频率/倒排记录表指针/词项指针 = 4B/4B/3B。
    故需要的空间是 400000×(4+4+3+8)=7.6MB ,比原来节省了很多。

  • 按块存储
    这里写图片描述
    为了减少词项指针, 选择 k 个词项共用一个指针,并且用一个数字记录每个词项的大小,故对于每个块,可以减少 k1 个词项指针,但需要 k B的空间来存储词项长度。
    如前面的数据库,可以每个块可以减少(k1)×3=9B ,但需要增加 k=4B 来存储词项长度,所以一个块能节省 5B 。总共能节省下的空间是 400000×1/4×5=0.5MB

实际上就是在压缩大小和查询速度之间权衡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值