Package org.apache.lucene.util.packed
Class PagedGrowableWriter
- java.lang.Object
-
- org.apache.lucene.index.NumericDocValues
-
- org.apache.lucene.util.LongValues
-
- org.apache.lucene.util.packed.PagedGrowableWriter
-
public final class PagedGrowableWriter extends LongValues
APagedGrowableWriter. This class slices data into fixed-size blocks which have independent numbers of bits per value and grow on-demand.You should use this class instead of the
AbstractAppendingLongBufferrelated ones only when you need random write-access. Otherwise this class will likely be slower and less memory-efficient.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.NumericDocValues
EMPTY
-
-
Constructor Summary
Constructors Constructor Description PagedGrowableWriter(long size, int pageSize, int startBitsPerValue, float acceptableOverheadRatio)Create a newPagedGrowableWriterinstance.
-
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 PagedGrowableWriternewUnfilledCopy(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
-
PagedGrowableWriter
public PagedGrowableWriter(long size, int pageSize, int startBitsPerValue, float acceptableOverheadRatio)Create a newPagedGrowableWriterinstance.- Parameters:
size- the number of values to store.pageSize- the number of values per pagestartBitsPerValue- the initial number of bits per valueacceptableOverheadRatio- an acceptable overhead ratio
-
-
Method Detail
-
newMutable
protected PackedInts.Mutable newMutable(int valueCount, int bitsPerValue)
-
newUnfilledCopy
protected PagedGrowableWriter 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[]).
-
-