## org.apache.lucene.codecs.lucene41
Class Lucene41PostingsWriter

    java.lang.Object
      org.apache.lucene.codecs.PostingsConsumer
          org.apache.lucene.codecs.PostingsWriterBase
              org.apache.lucene.codecs.lucene41.Lucene41PostingsWriter

All Implemented Interfaces:
  Closeable

    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.`
WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
`Lucene41PostingsWriter(SegmentWriteState state)` Creates a postings writer with `PackedInts.COMPACT`
`Lucene41PostingsWriter(SegmentWriteState state, float acceptableOverheadRatio)` Creates a postings writer with the specified PackedInts overhead ratio

Method Summary
`void` `addPosition(int position, BytesRef payload, int startOffset, int endOffset)` Add a new position & payload
`void` `close()`
`void` `finishDoc()` Called when we are done adding positions & payloads for each doc.
`void` `finishTerm(TermStats stats)` Called when we are done adding docs to this term
`void` `flushTermsBlock(int start, int count)` Flush count terms starting at start "backwards", as a block.
`void` `setField(FieldInfo fieldInfo)` Called when the writing switches to another field.
`void` `start(IndexOutput termsOut)` Called once after startup, before any terms have been added.
`void` `startDoc(int docID, int termDocFreq)` Adds a new doc in this term.
`void` `startTerm()` Start a new term.

Methods inherited from class org.apache.lucene.codecs.PostingsConsumer
`merge`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Lucene41PostingsWriter

    public Lucene41PostingsWriter(SegmentWriteState state,
                                  float acceptableOverheadRatio)
                           throws IOException

  Creates a postings writer with the specified PackedInts overhead ratio

  Throws:
    `IOException`

### Lucene41PostingsWriter

    public Lucene41PostingsWriter(SegmentWriteState state)
                           throws IOException

  Creates a postings writer with `PackedInts.COMPACT`

  Throws:
    `IOException`

Method Detail

### start

    public void start(IndexOutput termsOut)
               throws IOException

  Description copied from class: `PostingsWriterBase`
  Called once after startup, before any terms have been added. Implementations typically write a header to the provided `termsOut`.

  Specified by:
    `start` in class `PostingsWriterBase`
  Throws:
    `IOException`

### setField

    public void setField(FieldInfo fieldInfo)

  Description copied from class: `PostingsWriterBase`
  Called when the writing switches to another field.

  Specified by:
    `setField` in class `PostingsWriterBase`

### startTerm

    public void startTerm()

  Description copied from class: `PostingsWriterBase`
  Start a new term. Note that a matching call to `PostingsWriterBase.finishTerm(TermStats)` is done, only if the term has at least one document.

  Specified by:
    `startTerm` in class `PostingsWriterBase`

### startDoc

    public void startDoc(int docID,
                         int termDocFreq)
                  throws IOException

  Description copied from class: `PostingsConsumer`
  Adds a new doc in this term. `freq` will be -1 when term frequencies are omitted for the field.

  Specified by:
    `startDoc` in class `PostingsConsumer`
  Throws:
    `IOException`

### addPosition

    public void addPosition(int position,
                            BytesRef payload,
                            int startOffset,
                            int endOffset)
                     throws IOException

  Add a new position & payload

  Specified by:
    `addPosition` in class `PostingsConsumer`
  Throws:
    `IOException`

### finishDoc

    public void finishDoc()
                   throws IOException

  Description copied from class: `PostingsConsumer`
  Called when we are done adding positions & payloads for each doc.

  Specified by:
    `finishDoc` in class `PostingsConsumer`
  Throws:
    `IOException`

### finishTerm

    public void finishTerm(TermStats stats)
                    throws IOException

  Called when we are done adding docs to this term

  Specified by:
    `finishTerm` in class `PostingsWriterBase`
  Throws:
    `IOException`

### flushTermsBlock

    public void flushTermsBlock(int start,
                                int count)
                         throws IOException

  Description copied from class: `PostingsWriterBase`
  Flush count terms starting at start "backwards", as a block. start is a negative offset from the end of the terms stack, ie bigger start means further back in the stack.

  Specified by:
    `flushTermsBlock` in class `PostingsWriterBase`
  Throws:
    `IOException`

### close

    public void close()
               throws IOException

  Specified by:
    `close` in interface `Closeable`
  Specified by:
    `close` in class `PostingsWriterBase`
  Throws:
    `IOException`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.