談談lucene的DocValues特性之BinaryDocValuesField

BinaryDocValuesField與SortedDocValuesField類似,但又有不一樣之處,當字段的值重複項較少且共同前綴較少時使用BinaryDocValuesField存儲較好。算法

 

該字段的存儲在代碼實現較簡單主要過程就是兩步:數組

一、寫入字段原始字節數組沒有采用任何壓縮算法;優化

二、採用Monotonic算法對每一個字段值在文件中的指針進行壓縮存儲,該算法對於這種近似於線性的序列值壓縮很是有效。有興趣的能夠看看結合lucene談談整形值壓縮--上篇.net

原始代碼中除了這兩個關鍵步驟,還有一個重要的優化類IndexedDISI將放在下一篇單獨說明!指針

相關文章
相關標籤/搜索