## org.apache.lucene.codecs.pulsing
Class PulsingPostingsWriter

    java.lang.Object
      org.apache.lucene.codecs.PostingsConsumer
          org.apache.lucene.codecs.PostingsWriterBase
              org.apache.lucene.codecs.pulsing.PulsingPostingsWriter

All Implemented Interfaces:
  Closeable

    public final class PulsingPostingsWriter

extends PostingsWriterBase

Writer for the pulsing format.

Wraps another postings implementation and decides (based on total number of occurrences), whether a terms postings should be inlined into the term dictionary, or passed through to the wrapped writer.

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

Constructor Summary
`PulsingPostingsWriter(int maxPositions, PostingsWriterBase wrappedPostingsWriter)` If the total number of positions (summed across all docs for this term) is <= maxPositions, then the postings are inlined into terms dict

Method Summary
`void` `addPosition(int position, BytesRef payload, int startOffset, int endOffset)`
`void` `close()`
`void` `finishDoc()`
`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)`
`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

### PulsingPostingsWriter

    public PulsingPostingsWriter(int maxPositions,
                                 PostingsWriterBase wrappedPostingsWriter)

  If the total number of positions (summed across all docs for this term) is <= maxPositions, then the postings are inlined into terms dict

Method Detail

### start

    public void start(IndexOutput termsOut)
               throws IOException

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

### startTerm

    public void startTerm()

  Specified by:
    `startTerm` in class `PostingsWriterBase`

### setField

    public void setField(FieldInfo fieldInfo)

  Specified by:
    `setField` in class `PostingsWriterBase`

### startDoc

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

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

### addPosition

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

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

### finishDoc

    public void finishDoc()
                   throws IOException

  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`

### close

    public void close()
               throws IOException

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

### flushTermsBlock

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

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

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