Class Lucene90PostingsWriter
java.lang.Object
org.apache.lucene.codecs.PostingsWriterBase
org.apache.lucene.codecs.PushPostingsWriterBase
org.apache.lucene.codecs.lucene90.Lucene90PostingsWriter
- All Implemented Interfaces:
Closeable
,AutoCloseable
Concrete class that writes docId(maybe frq,pos,offset,payloads) list with postings format.
Postings list for each term will be stored separately.
- See Also:
-
for details about skipping setting and postings layout.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
Fields inherited from class org.apache.lucene.codecs.PushPostingsWriterBase
fieldInfo, indexOptions, writeFreqs, writeOffsets, writePayloads, writePositions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPosition
(int position, BytesRef payload, int startOffset, int endOffset) Add a new position and payload, and start/end offset.void
close()
void
encodeTerm
(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute) Encode metadata as long[] and byte[].void
Called when we are done adding positions and payloads for each doc.void
finishTerm
(BlockTermState _state) Called when we are done adding docs to this termvoid
init
(IndexOutput termsOut, SegmentWriteState state) Called once after startup, before any terms have been added.Return a newly created empty TermStatevoid
Sets the current field for writing, and returns the fixed length of long[] metadata (which is fixed per field), called when the writing switches to another field.void
startDoc
(int docID, int termDocFreq) Adds a new doc in this term.void
startTerm
(NumericDocValues norms) Start a new term.Methods inherited from class org.apache.lucene.codecs.PushPostingsWriterBase
writeTerm
-
Constructor Details
-
Lucene90PostingsWriter
Creates a postings writer- Throws:
IOException
-
-
Method Details
-
newTermState
Description copied from class:PushPostingsWriterBase
Return a newly created empty TermState- Specified by:
newTermState
in classPushPostingsWriterBase
-
init
Description copied from class:PostingsWriterBase
Called once after startup, before any terms have been added. Implementations typically write a header to the providedtermsOut
.- Specified by:
init
in classPostingsWriterBase
- Throws:
IOException
-
setField
Description copied from class:PushPostingsWriterBase
Sets the current field for writing, and returns the fixed length of long[] metadata (which is fixed per field), called when the writing switches to another field.- Overrides:
setField
in classPushPostingsWriterBase
-
startTerm
Description copied from class:PushPostingsWriterBase
Start a new term. Note that a matching call toPushPostingsWriterBase.finishTerm(BlockTermState)
is done, only if the term has at least one document.- Specified by:
startTerm
in classPushPostingsWriterBase
-
startDoc
Description copied from class:PushPostingsWriterBase
Adds a new doc in this term.freq
will be -1 when term frequencies are omitted for the field.- Specified by:
startDoc
in classPushPostingsWriterBase
- Throws:
IOException
-
addPosition
public void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws IOException Description copied from class:PushPostingsWriterBase
Add a new position and payload, and start/end offset. A null payload means no payload; a non-null payload with zero length also means no payload. Caller may reuse theBytesRef
for the payload between calls (method must fully consume the payload).startOffset
andendOffset
will be -1 when offsets are not indexed.- Specified by:
addPosition
in classPushPostingsWriterBase
- Throws:
IOException
-
finishDoc
Description copied from class:PushPostingsWriterBase
Called when we are done adding positions and payloads for each doc.- Specified by:
finishDoc
in classPushPostingsWriterBase
- Throws:
IOException
-
finishTerm
Called when we are done adding docs to this term- Specified by:
finishTerm
in classPushPostingsWriterBase
- Throws:
IOException
-
encodeTerm
public void encodeTerm(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute) throws IOException Description copied from class:PostingsWriterBase
Encode metadata as long[] and byte[].absolute
controls whether current term is delta encoded according to latest term. Usually elements inlongs
are file pointers, so each one always increases when a new term is consumed.out
is used to write generic bytes, which are not monotonic.- Specified by:
encodeTerm
in classPostingsWriterBase
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classPostingsWriterBase
- Throws:
IOException
-