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()