知识卡片

文档间隔(d-gap):倒排列表可压缩性的关键转换

普通读书笔记卡 · 1225.c

内容

一个词的倒排列表本身是升序文档号,直接存储每个文档号需要能表达最大文档号的位数,看起来无法压缩。但只要把”存文档号”换成”存相邻文档号之间的差值”(文档间隔),信息不丢失(可累加还原),却打开压缩空间:常见词间隔普遍很小,罕见词间隔可能很大但次数少,小间隔概率远高于大间隔。只要用变长编码给小数值分配更短码字,平均编码长度就能显著低于固定位数方案。

参考来源

- 位置:第3章《索引》「压缩倒排文件」小节(源文件:_chapter-text/ch03.txt) - 结论依据:原文明确说明用文档间隔(d-gap)替代直接存储文档号不损失信息,且间隔分布不均匀为变长编码打开空间,直接支持卡片论点。 - 原始内容:"列表完全可以这样存储:一个初始位置,后面跟着一列文档间隔(d-gap)……这里没有损失任何信息,因为原文档序号总是可以通过累计文档间隔的和来求出……常用词所出现在的文档序号的间隔可能很小……这样考虑使用变长的表示法,更重视小值,就能使编码效果比重视大值更加经济。"