Class LegacyDirectMonotonicWriter
java.lang.Object
org.apache.lucene.backward_codecs.packed.LegacyDirectMonotonicWriter
Write monotonically-increasing sequences of integers. This writer splits data into blocks and
then for each block, computes the average slope, the minimum value and only encode the delta from
the expected value using a
LegacyDirectWriter
.- See Also:
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
max block shiftstatic final int
min block shift -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(long v) Write a new value.void
finish()
This must be called exactly once after all values have beenadded
.static LegacyDirectMonotonicWriter
getInstance
(IndexOutput metaOut, IndexOutput dataOut, long numValues, int blockShift) Returns an instance suitable for encodingnumValues
into monotonic blocks of 2blockShift
values.
-
Field Details
-
MIN_BLOCK_SHIFT
public static final int MIN_BLOCK_SHIFTmin block shift- See Also:
-
MAX_BLOCK_SHIFT
public static final int MAX_BLOCK_SHIFTmax block shift- See Also:
-
-
Method Details
-
add
Write a new value. Note that data might not make it to storage untilfinish()
is called.- Throws:
IllegalArgumentException
- if values don't come in orderIOException
-
finish
This must be called exactly once after all values have beenadded
.- Throws:
IOException
-
getInstance
public static LegacyDirectMonotonicWriter getInstance(IndexOutput metaOut, IndexOutput dataOut, long numValues, int blockShift) Returns an instance suitable for encodingnumValues
into monotonic blocks of 2blockShift
values. Metadata will be written tometaOut
and actual data todataOut
.
-