public class DeltaBaseTermStateSerializer
extends java.lang.Object
TermState serializer which encodes each file pointer as a delta relative
to a base file pointer. It differs from Lucene84PostingsWriter#encodeTerm
which encodes each file pointer as a delta relative to the previous file pointer.
It automatically sets the base file pointer to the first valid file pointer for
doc start FP, pos start FP, pay start FP. These base file pointers have to be
reset by the caller before starting to write a new block.
| Modifier and Type | Field and Description |
|---|---|
protected long |
baseDocStartFP |
protected long |
basePayStartFP |
protected long |
basePosStartFP |
| Constructor and Description |
|---|
DeltaBaseTermStateSerializer() |
| Modifier and Type | Method and Description |
|---|---|
long |
getBaseDocStartFP() |
long |
getBasePayStartFP() |
long |
getBasePosStartFP() |
long |
ramBytesUsed() |
static long |
ramBytesUsed(TermState termState) |
BlockTermState |
readTermState(long baseDocStartFP,
long basePosStartFP,
long basePayStartFP,
DataInput termStatesInput,
FieldInfo fieldInfo,
BlockTermState reuse)
Reads a
BlockTermState from the provided DataInput. |
protected IntBlockTermState |
reset(IntBlockTermState termState) |
void |
resetBaseStartFP()
Resets the base file pointers to 0.
|
void |
writeTermState(DataOutput termStatesOutput,
FieldInfo fieldInfo,
BlockTermState termState)
Writes a
BlockTermState to the provided DataOutput. |
protected long baseDocStartFP
protected long basePosStartFP
protected long basePayStartFP
public void resetBaseStartFP()
public long getBaseDocStartFP()
TermState written after resetBaseStartFP() is called.public long getBasePosStartFP()
TermState written after resetBaseStartFP() is called.public long getBasePayStartFP()
TermState written after resetBaseStartFP() is called.public void writeTermState(DataOutput termStatesOutput,
FieldInfo fieldInfo,
BlockTermState termState)
throws java.io.IOException
BlockTermState to the provided DataOutput.
Simpler variant of Lucene84PostingsWriter#encodeTerm(long[], DataOutput, FieldInfo, BlockTermState, boolean).
java.io.IOExceptionpublic BlockTermState readTermState(long baseDocStartFP,
long basePosStartFP,
long basePayStartFP,
DataInput termStatesInput,
FieldInfo fieldInfo,
BlockTermState reuse)
throws java.io.IOException
BlockTermState from the provided DataInput.
Simpler variant of Lucene84PostingsReader#decodeTerm(long[], DataInput, FieldInfo, BlockTermState, boolean).
reuse - BlockTermState to reuse; or null to create a new one.java.io.IOExceptionprotected IntBlockTermState reset(IntBlockTermState termState)
public long ramBytesUsed()
public static long ramBytesUsed(TermState termState)
TermState.Data In Motion GmbH all rights reserved