org.apache.lucene.codecs.sep

## Class SepPostingsWriter

- java.lang.Object
- - org.apache.lucene.codecs.PostingsConsumer
  - - org.apache.lucene.codecs.PostingsWriterBase
    - - org.apache.lucene.codecs.sep.SepPostingsWriter

All Implemented Interfaces:
  Closeable, AutoCloseable

    public final class SepPostingsWriter
    extends PostingsWriterBase

Writes frq to .frq, docs to .doc, pos to .pos, payloads to .pyl, skip data to .skp

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Constructor Summary

Constructors
Constructor and Description
`SepPostingsWriter(SegmentWriteState state, IntStreamFactory factory)`
`SepPostingsWriter(SegmentWriteState state, IntStreamFactory factory, int skipInterval)`

### Method Summary

Methods
`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
`void` `finishTerm(TermStats stats)` Called when we are done adding docs to this term
`void` `flushTermsBlock(int start, int count)`
`void` `setField(FieldInfo fieldInfo)`
`void` `start(IndexOutput termsOut)`
`void` `startDoc(int docID, int termDocFreq)` Adds a new doc in this term.
`void` `startTerm()`

### 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

#### SepPostingsWriter

    public SepPostingsWriter(SegmentWriteState state,
                     IntStreamFactory factory)
                      throws IOException

Throws:
  `IOException`

#### SepPostingsWriter

    public SepPostingsWriter(SegmentWriteState state,
                     IntStreamFactory factory,
                     int skipInterval)
                      throws IOException

Throws:
  `IOException`

### Method Detail

#### start

    public void start(IndexOutput termsOut)
               throws IOException

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

#### startTerm

    public void startTerm()
                   throws IOException

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

#### setField

    public void setField(FieldInfo fieldInfo)

Specified by:
  `setField` in class `PostingsWriterBase`

#### startDoc

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

Adds a new doc in this term. If this returns null then we just skip consuming positions/payloads.

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

Called when we are done adding positions & payloads

Specified by:
  `finishDoc` in class `PostingsConsumer`

#### 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

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

#### close

    public void close()
               throws IOException

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