org.apache.lucene.codecs
Class PostingsWriterBase

java.lang.Object
  extended by org.apache.lucene.codecs.PostingsConsumer
      extended by org.apache.lucene.codecs.PostingsWriterBase
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
Lucene41PostingsWriter

public abstract class PostingsWriterBase
extends PostingsConsumer
implements Closeable

Extension of PostingsConsumer to support pluggable term dictionaries.

This class contains additional hooks to interact with the provided term dictionaries such as BlockTreeTermsWriter. If you want to re-use an existing implementation and are only interested in customizing the format of the postings list, extend this class instead.

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

Constructor Summary
protected PostingsWriterBase()
          Sole constructor.
 
Method Summary
abstract  void close()
           
abstract  void finishTerm(TermStats stats)
          Finishes the current term.
abstract  void flushTermsBlock(int start, int count)
          Flush count terms starting at start "backwards", as a block.
abstract  void setField(FieldInfo fieldInfo)
          Called when the writing switches to another field.
abstract  void start(IndexOutput termsOut)
          Called once after startup, before any terms have been added.
abstract  void startTerm()
          Start a new term.
 
Methods inherited from class org.apache.lucene.codecs.PostingsConsumer
addPosition, finishDoc, merge, startDoc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PostingsWriterBase

protected PostingsWriterBase()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

Method Detail

start

public abstract void start(IndexOutput termsOut)
                    throws IOException
Called once after startup, before any terms have been added. Implementations typically write a header to the provided termsOut.

Throws:
IOException

startTerm

public abstract void startTerm()
                        throws IOException
Start a new term. Note that a matching call to finishTerm(TermStats) is done, only if the term has at least one document.

Throws:
IOException

flushTermsBlock

public abstract void flushTermsBlock(int start,
                                     int count)
                              throws IOException
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.

Throws:
IOException

finishTerm

public abstract void finishTerm(TermStats stats)
                         throws IOException
Finishes the current term. The provided TermStats contains the term's summary statistics.

Throws:
IOException

setField

public abstract void setField(FieldInfo fieldInfo)
Called when the writing switches to another field.


close

public abstract void close()
                    throws IOException
Specified by:
close in interface Closeable
Throws:
IOException


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