本文承接PackedInts(一),继续介绍剩余的内容。
压缩实现
在上一篇文章中,我们介绍了Lucene 7.5.0中PackedInts提供的几种压缩实现,如下所示:
表1:
| 数据分布 | 是否有填充bit | 是否单block单值 | 实现类 |
| 一个block | 否 | 是 | Direct8 Direct16 Direct32 Direct64 |
| 是 | 否 | Packed64SingleBlock1 Packed64SingleBlock2 Packed64SingleBlock3 Packed64SingleBlock4 Packed64SingleBlock5 Packed64SingleBlock6 Packed64SingleBlock7 Packed64SingleBlock8 Packed64SingleBlock9 Packed64SingleBlock10 Packed64SingleBlock12 Packed64SingleBlock16 Packed64SingleBlock21 Packed64SingleBlock32 | |
| 两个block | 否 | 否 | Packed64 |
| 三个block | 否 | - | Packed8ThreeBlocks Packed16ThreeBlocks |
看这里:https://www.amazingkoala.com.cn/Lucene/yasuocunchu/2019/1218/119.html
本文深入探讨了Lucene 7.5版本中PackedInts的压缩实现细节,包括不同数据分布下,是否填充bit及是否单block单值时的多种实现类。覆盖Direct8至Direct64,Packed64SingleBlock系列及Packed64、Packed8ThreeBlocks等压缩方式。
944

被折叠的 条评论
为什么被折叠?



