Class SepPostingsWriter
Writes frq to .frq, docs to .doc, pos to .pos, payloads to .pyl, skip data to .skp
Note
This API is experimental and might change in incompatible ways in the next release.
Implements
Inherited Members
Namespace: Lucene.Net.Codecs.Sep
Assembly: Lucene.Net.Codecs.dll
Syntax
public sealed class SepPostingsWriter : PostingsWriterBase, IDisposable
Constructors
SepPostingsWriter(SegmentWriteState, Int32StreamFactory)
Writes frq to .frq, docs to .doc, pos to .pos, payloads to .pyl, skip data to .skp
Note
This API is experimental and might change in incompatible ways in the next release.
Declaration
public SepPostingsWriter(SegmentWriteState state, Int32StreamFactory factory)
Parameters
Type | Name | Description |
---|---|---|
SegmentWriteState | state | |
Int32StreamFactory | factory |
SepPostingsWriter(SegmentWriteState, Int32StreamFactory, int)
Writes frq to .frq, docs to .doc, pos to .pos, payloads to .pyl, skip data to .skp
Note
This API is experimental and might change in incompatible ways in the next release.
Declaration
public SepPostingsWriter(SegmentWriteState state, Int32StreamFactory factory, int skipInterval)
Parameters
Type | Name | Description |
---|---|---|
SegmentWriteState | state | |
Int32StreamFactory | factory | |
int | skipInterval |
Methods
AddPosition(int, BytesRef, int, int)
Add a new position & payload.
Declaration
public override void AddPosition(int position, BytesRef payload, int startOffset, int endOffset)
Parameters
Type | Name | Description |
---|---|---|
int | position | |
BytesRef | payload | |
int | startOffset | |
int | endOffset |
Overrides
Dispose(bool)
Implementations must override and should dispose all resources used by this instance.
Declaration
protected override void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
bool | disposing |
Overrides
EncodeTerm(long[], DataOutput, FieldInfo, BlockTermState, bool)
Encode metadata as long[] and byte[]. absolute
controls whether
current term is delta encoded according to latest term.
Usually elements in longs
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.
Declaration
public override void EncodeTerm(long[] longs, DataOutput output, FieldInfo fi, BlockTermState state, bool absolute)
Parameters
Type | Name | Description |
---|---|---|
long[] | longs | |
DataOutput | output | |
FieldInfo | fi | |
BlockTermState | state | |
bool | absolute |
Overrides
FinishDoc()
Called when we are done adding positions & payloads.
Declaration
public override void FinishDoc()
Overrides
FinishTerm(BlockTermState)
Called when we are done adding docs to this term.
Declaration
public override void FinishTerm(BlockTermState state)
Parameters
Type | Name | Description |
---|---|---|
BlockTermState | state |
Overrides
Init(IndexOutput)
Called once after startup, before any terms have been
added. Implementations typically write a header to
the provided termsOut
.
Declaration
public override void Init(IndexOutput termsOut)
Parameters
Type | Name | Description |
---|---|---|
IndexOutput | termsOut |
Overrides
NewTermState()
Return a newly created empty Lucene.Net.Index.TermState
Declaration
public override BlockTermState NewTermState()
Returns
Type | Description |
---|---|
BlockTermState |
Overrides
SetField(FieldInfo)
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.
Declaration
public override int SetField(FieldInfo fieldInfo)
Parameters
Type | Name | Description |
---|---|---|
FieldInfo | fieldInfo |
Returns
Type | Description |
---|---|
int |
Overrides
StartDoc(int, int)
Adds a new doc in this term. If this returns null
then we just skip consuming positions/payloads.
Declaration
public override void StartDoc(int docID, int termDocFreq)
Parameters
Type | Name | Description |
---|---|---|
int | docID | |
int | termDocFreq |
Overrides
StartTerm()
Start a new term. Note that a matching call to Lucene.Net.Codecs.PostingsWriterBase.FinishTerm(Lucene.Net.Codecs.BlockTermState) is done, only if the term has at least one document.
Declaration
public override void StartTerm()