org.apache.lucene.codecs.pulsing
Class PulsingPostingsWriter

java.lang.Object
  extended by org.apache.lucene.codecs.PostingsConsumer
      extended by org.apache.lucene.codecs.PostingsWriterBase
          extended by 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.