谈谈lucene的DocValues特性之BinaryDocValuesField

BinaryDocValuesField与SortedDocValuesField类似,但又有不一样之处,当字段的值重复项较少且共同前缀较少时使用BinaryDocValuesField存储较好。算法

 

该字段的存储在代码实现较简单主要过程就是两步:数组

一、写入字段原始字节数组没有采用任何压缩算法;优化

二、采用Monotonic算法对每一个字段值在文件中的指针进行压缩存储,该算法对于这种近似于线性的序列值压缩很是有效。有兴趣的能够看看结合lucene谈谈整形值压缩--上篇.net

原始代码中除了这两个关键步骤,还有一个重要的优化类IndexedDISI将放在下一篇单独说明!指针

相关文章
相关标签/搜索