Module org.elasticsearch.compute
Class BatchEncoder.DirectEncoder
java.lang.Object
org.elasticsearch.compute.operator.mvdedupe.BatchEncoder
org.elasticsearch.compute.operator.mvdedupe.BatchEncoder.DirectEncoder
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.lucene.util.Accountable,org.elasticsearch.core.Releasable
- Direct Known Subclasses:
BatchEncoder.DirectBooleans,BatchEncoder.DirectBytesRefs,BatchEncoder.DirectDoubles,BatchEncoder.DirectInts,BatchEncoder.DirectLongs,BatchEncoder.DirectNulls
- Enclosing class:
BatchEncoder
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.compute.operator.mvdedupe.BatchEncoder
BatchEncoder.Booleans, BatchEncoder.BytesRefs, BatchEncoder.Decoder, BatchEncoder.DirectBooleans, BatchEncoder.DirectBytesRefs, BatchEncoder.DirectDoubles, BatchEncoder.DirectEncoder, BatchEncoder.DirectInts, BatchEncoder.DirectLongs, BatchEncoder.DirectNulls, BatchEncoder.Doubles, BatchEncoder.Ints, BatchEncoder.IsNull, BatchEncoder.Longs, BatchEncoder.MVEncoder -
Field Summary
FieldsFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()final voidEncodes the next batch of entries.final intThe number of positions in the current batch.final longintread(int index, org.apache.lucene.util.BytesRefBuilder dst) Read the value at the specified index then append to thedst.protected abstract intreadValueAtBlockIndex(int valueIndex, org.apache.lucene.util.BytesRefBuilder dst) final intvalueCount(int positionOffset) The number of values at the position with this offset in the batch.Methods inherited from class org.elasticsearch.compute.operator.mvdedupe.BatchEncoder
decoderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Field Details
-
BASE_RAM_USAGE
protected static final long BASE_RAM_USAGE -
block
-
-
Method Details
-
encodeNextBatch
public final void encodeNextBatch()Description copied from class:BatchEncoderEncodes the next batch of entries. This will encode values until the next value doesn't fit into the buffer. Callers should iterate on the values that have been encoded and then call this again for the next batch.It's possible for this batch to be empty if there isn't room for the first entry in the buffer. If so, call again to force the buffer to expand and encode that entry.
- Specified by:
encodeNextBatchin classBatchEncoder
-
positionCount
public final int positionCount()Description copied from class:BatchEncoderThe number of positions in the current batch.- Specified by:
positionCountin classBatchEncoder
-
valueCount
public final int valueCount(int positionOffset) Description copied from class:BatchEncoderThe number of values at the position with this offset in the batch.- Specified by:
valueCountin classBatchEncoder
-
read
public int read(int index, org.apache.lucene.util.BytesRefBuilder dst) Description copied from class:BatchEncoderRead the value at the specified index then append to thedst. Values at the first position start at index0and advance one per value. So the values at position n start at(0..n-1).sum(valueCount). There is no random-access way to get the first index for a position.- Specified by:
readin classBatchEncoder- Returns:
- the number of bytes has read
-
readValueAtBlockIndex
protected abstract int readValueAtBlockIndex(int valueIndex, org.apache.lucene.util.BytesRefBuilder dst) -
ramBytesUsed
public final long ramBytesUsed() -
close
public void close()
-