Class Lucene41PostingsWriter
- java.lang.Object
 - 
- org.apache.lucene.codecs.PostingsConsumer
 - 
- org.apache.lucene.codecs.PostingsWriterBase
 - 
- org.apache.lucene.codecs.lucene41.Lucene41PostingsWriter
 
 
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.lang.AutoCloseable
public final class Lucene41PostingsWriter extends PostingsWriterBase
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.
 
- 
- 
Constructor Summary
Constructors Constructor Description Lucene41PostingsWriter(SegmentWriteState state)Creates a postings writer withPackedInts.COMPACTLucene41PostingsWriter(SegmentWriteState state, float acceptableOverheadRatio)Creates a postings writer with the specified PackedInts overhead ratio 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPosition(int position, BytesRef payload, int startOffset, int endOffset)Add a new position & payloadvoidclose()voidencodeTerm(long[] longs, DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute)Encode metadata as long[] and byte[].voidfinishDoc()Called when we are done adding positions & payloads for each doc.voidfinishTerm(BlockTermState _state)Called when we are done adding docs to this termvoidinit(IndexOutput termsOut)Called once after startup, before any terms have been added.org.apache.lucene.codecs.lucene41.Lucene41PostingsWriter.IntBlockTermStatenewTermState()Return a newly created empty TermStateintsetField(FieldInfo 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.voidstartDoc(int docID, int termDocFreq)Adds a new doc in this term.voidstartTerm()Start a new term.- 
Methods inherited from class org.apache.lucene.codecs.PostingsConsumer
merge 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
Lucene41PostingsWriter
public Lucene41PostingsWriter(SegmentWriteState state, float acceptableOverheadRatio) throws java.io.IOException
Creates a postings writer with the specified PackedInts overhead ratio- Throws:
 java.io.IOException
 
- 
Lucene41PostingsWriter
public Lucene41PostingsWriter(SegmentWriteState state) throws java.io.IOException
Creates a postings writer withPackedInts.COMPACT- Throws:
 java.io.IOException
 
 - 
 
- 
Method Detail
- 
newTermState
public org.apache.lucene.codecs.lucene41.Lucene41PostingsWriter.IntBlockTermState newTermState()
Description copied from class:PostingsWriterBaseReturn a newly created empty TermState- Specified by:
 newTermStatein classPostingsWriterBase
 
- 
init
public void init(IndexOutput termsOut) throws java.io.IOException
Description copied from class:PostingsWriterBaseCalled once after startup, before any terms have been added. Implementations typically write a header to the providedtermsOut.- Specified by:
 initin classPostingsWriterBase- Throws:
 java.io.IOException
 
- 
setField
public int setField(FieldInfo fieldInfo)
Description copied from class:PostingsWriterBaseSets 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.- Specified by:
 setFieldin classPostingsWriterBase
 
- 
startTerm
public void startTerm()
Description copied from class:PostingsWriterBaseStart a new term. Note that a matching call toPostingsWriterBase.finishTerm(BlockTermState)is done, only if the term has at least one document.- Specified by:
 startTermin classPostingsWriterBase
 
- 
startDoc
public void startDoc(int docID, int termDocFreq) throws java.io.IOExceptionDescription copied from class:PostingsConsumerAdds a new doc in this term.freqwill be -1 when term frequencies are omitted for the field.- Specified by:
 startDocin classPostingsConsumer- Throws:
 java.io.IOException
 
- 
addPosition
public void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws java.io.IOExceptionAdd a new position & payload- Specified by:
 addPositionin classPostingsConsumer- Throws:
 java.io.IOException
 
- 
finishDoc
public void finishDoc() throws java.io.IOExceptionDescription copied from class:PostingsConsumerCalled when we are done adding positions & payloads for each doc.- Specified by:
 finishDocin classPostingsConsumer- Throws:
 java.io.IOException
 
- 
finishTerm
public void finishTerm(BlockTermState _state) throws java.io.IOException
Called when we are done adding docs to this term- Specified by:
 finishTermin classPostingsWriterBase- Throws:
 java.io.IOException
 
- 
encodeTerm
public void encodeTerm(long[] longs, DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute) throws java.io.IOExceptionDescription copied from class:PostingsWriterBaseEncode metadata as long[] and byte[].absolutecontrols whether current term is delta encoded according to latest term. Usually elements inlongsare file pointers, so each one always increases when a new term is consumed.outis used to write generic bytes, which are not monotonic. NOTE: sometimes long[] might contain "don't care" values that are unused, e.g. the pointer to postings list may not be defined for some terms but is defined for others, if it is designed to inline some postings data in term dictionary. In this case, the postings writer should always use the last value, so that each element in metadata long[] remains monotonic.- Specified by:
 encodeTermin classPostingsWriterBase- Throws:
 java.io.IOException
 
- 
close
public void close() throws java.io.IOException- Specified by:
 closein interfacejava.lang.AutoCloseable- Specified by:
 closein interfacejava.io.Closeable- Specified by:
 closein classPostingsWriterBase- Throws:
 java.io.IOException
 
 - 
 
 -