Package org.apache.lucene.util.packed
Class PagedMutable
- java.lang.Object
-
- org.apache.lucene.index.NumericDocValues
-
- org.apache.lucene.util.LongValues
-
- org.apache.lucene.util.packed.PagedMutable
-
public final class PagedMutable extends LongValues
APagedMutable. This class slices data into fixed-size blocks which have the same number of bits per value. It can be a useful replacement forPackedInts.Mutableto store more than 2B values.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.NumericDocValues
EMPTY
-
-
Constructor Summary
Constructors Constructor Description PagedMutable(long size, int pageSize, int bitsPerValue, float acceptableOverheadRatio)Create a newPagedMutableinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected longbaseRamBytesUsed()protected voidfillPages()longget(long index)Get value atindex.Tgrow()Similar toArrayUtil.grow(long[]).Tgrow(long minSize)Similar toArrayUtil.grow(long[], int).protected PackedInts.MutablenewMutable(int valueCount, int bitsPerValue)protected PagedMutablenewUnfilledCopy(long newSize)longramBytesUsed()Return the number of bytes used by this object.Tresize(long newSize)Create a new copy of sizenewSizebased on the content of this buffer.voidset(long index, long value)Set value atindex.longsize()The number of values.StringtoString()-
Methods inherited from class org.apache.lucene.util.LongValues
get
-
-
-
-
Constructor Detail
-
PagedMutable
public PagedMutable(long size, int pageSize, int bitsPerValue, float acceptableOverheadRatio)Create a newPagedMutableinstance.- Parameters:
size- the number of values to store.pageSize- the number of values per pagebitsPerValue- the number of bits per valueacceptableOverheadRatio- an acceptable overhead ratio
-
-
Method Detail
-
newMutable
protected PackedInts.Mutable newMutable(int valueCount, int bitsPerValue)
-
newUnfilledCopy
protected PagedMutable newUnfilledCopy(long newSize)
-
baseRamBytesUsed
protected long baseRamBytesUsed()
-
fillPages
protected final void fillPages()
-
size
public final long size()
The number of values.
-
get
public final long get(long index)
Description copied from class:LongValuesGet value atindex.- Specified by:
getin classLongValues
-
set
public final void set(long index, long value)Set value atindex.
-
ramBytesUsed
public long ramBytesUsed()
Return the number of bytes used by this object.
-
resize
public final T resize(long newSize)
Create a new copy of sizenewSizebased on the content of this buffer. This method is much more efficient than creating a new instance and copying values one by one.
-
grow
public final T grow(long minSize)
Similar toArrayUtil.grow(long[], int).
-
grow
public final T grow()
Similar toArrayUtil.grow(long[]).
-
-