Package org.apache.lucene.util.packed
Class DirectMonotonicReader
- java.lang.Object
-
- org.apache.lucene.util.LongValues
-
- org.apache.lucene.util.packed.DirectMonotonicReader
-
- All Implemented Interfaces:
Accountable
public final class DirectMonotonicReader extends LongValues implements Accountable
Retrieves an instance previously written byDirectMonotonicWriter
.- See Also:
DirectMonotonicWriter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DirectMonotonicReader.Meta
In-memory metadata that needs to be kept around forDirectMonotonicReader
to read data from disk.
-
Field Summary
Fields Modifier and Type Field Description private float[]
avgs
private static long
BASE_RAM_BYTES_USED
private int
blockShift
private byte[]
bpvs
private static LongValues
EMPTY
An instance that always returns0
.private long[]
mins
private int
nonZeroBpvs
private LongValues[]
readers
-
Fields inherited from class org.apache.lucene.util.LongValues
IDENTITY, ZEROES
-
-
Constructor Summary
Constructors Modifier Constructor Description private
DirectMonotonicReader(int blockShift, LongValues[] readers, long[] mins, float[] avgs, byte[] bpvs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
binarySearch(long fromIndex, long toIndex, long key)
Return the index of a key if it exists, or its insertion point otherwise likeArrays.binarySearch(long[], int, int, long)
.long
get(long index)
Get value atindex
.private long[]
getBounds(long index)
Get lower/upper bounds for the value at a given index without hitting the direct reader.static DirectMonotonicReader
getInstance(DirectMonotonicReader.Meta meta, RandomAccessInput data)
Retrieves an instance from the specified slice.static DirectMonotonicReader.Meta
loadMeta(IndexInput metaIn, long numValues, int blockShift)
Load metadata from the givenIndexInput
.long
ramBytesUsed()
Return the memory usage of this object in bytes.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Field Detail
-
BASE_RAM_BYTES_USED
private static final long BASE_RAM_BYTES_USED
-
EMPTY
private static final LongValues EMPTY
An instance that always returns0
.
-
blockShift
private final int blockShift
-
readers
private final LongValues[] readers
-
mins
private final long[] mins
-
avgs
private final float[] avgs
-
bpvs
private final byte[] bpvs
-
nonZeroBpvs
private final int nonZeroBpvs
-
-
Constructor Detail
-
DirectMonotonicReader
private DirectMonotonicReader(int blockShift, LongValues[] readers, long[] mins, float[] avgs, byte[] bpvs)
-
-
Method Detail
-
loadMeta
public static DirectMonotonicReader.Meta loadMeta(IndexInput metaIn, long numValues, int blockShift) throws java.io.IOException
Load metadata from the givenIndexInput
.- Throws:
java.io.IOException
- See Also:
getInstance(Meta, RandomAccessInput)
-
getInstance
public static DirectMonotonicReader getInstance(DirectMonotonicReader.Meta meta, RandomAccessInput data) throws java.io.IOException
Retrieves an instance from the specified slice.- Throws:
java.io.IOException
-
get
public long get(long index)
Description copied from class:LongValues
Get value atindex
.- Specified by:
get
in classLongValues
-
getBounds
private long[] getBounds(long index)
Get lower/upper bounds for the value at a given index without hitting the direct reader.
-
binarySearch
public long binarySearch(long fromIndex, long toIndex, long key)
Return the index of a key if it exists, or its insertion point otherwise likeArrays.binarySearch(long[], int, int, long)
.- See Also:
Arrays.binarySearch(long[], int, int, long)
-
ramBytesUsed
public long ramBytesUsed()
Description copied from interface:Accountable
Return the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsed
in interfaceAccountable
-
-