org.apache.lucene.codecs
Class PostingsFormat

java.lang.Object
  extended by org.apache.lucene.codecs.PostingsFormat
All Implemented Interfaces:
NamedSPILoader.NamedSPI
Direct Known Subclasses:
BloomFilteringPostingsFormat, DirectPostingsFormat, Lucene40PostingsFormat, MemoryPostingsFormat, PerFieldPostingsFormat, PulsingPostingsFormat, SimpleTextPostingsFormat

public abstract class PostingsFormat
extends Object
implements NamedSPILoader.NamedSPI

Encodes/decodes terms, postings, and proximity data.

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

Field Summary
static PostingsFormat[] EMPTY
           
 
Constructor Summary
protected PostingsFormat(String name)
           
 
Method Summary
static Set<String> availablePostingsFormats()
          returns a list of all available format names
abstract  FieldsConsumer fieldsConsumer(SegmentWriteState state)
          Writes a new segment
abstract  FieldsProducer fieldsProducer(SegmentReadState state)
          Reads a segment.
static PostingsFormat forName(String name)
          looks up a format by name
 String getName()
           
static void reloadPostingsFormats(ClassLoader classloader)
          Reloads the postings format list from the given ClassLoader.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final PostingsFormat[] EMPTY
Constructor Detail

PostingsFormat

protected PostingsFormat(String name)
Method Detail

getName

public final String getName()
Specified by:
getName in interface NamedSPILoader.NamedSPI

fieldsConsumer

public abstract FieldsConsumer fieldsConsumer(SegmentWriteState state)
                                       throws IOException
Writes a new segment

Throws:
IOException

fieldsProducer

public abstract FieldsProducer fieldsProducer(SegmentReadState state)
                                       throws IOException
Reads a segment. NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.

Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object

forName

public static PostingsFormat forName(String name)
looks up a format by name


availablePostingsFormats

public static Set<String> availablePostingsFormats()
returns a list of all available format names


reloadPostingsFormats

public static void reloadPostingsFormats(ClassLoader classloader)
Reloads the postings format list from the given ClassLoader. Changes to the postings formats are visible after the method ends, all iterators (availablePostingsFormats(),...) stay consistent.

NOTE: Only new postings formats are added, existing ones are never removed or replaced.

This method is expensive and should only be called for discovery of new postings formats on the given classpath/classloader!



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