org.apache.lucene.codecs.memory
Class DirectPostingsFormat

java.lang.Object
  extended by org.apache.lucene.codecs.PostingsFormat
      extended by org.apache.lucene.codecs.memory.DirectPostingsFormat
All Implemented Interfaces:
NamedSPILoader.NamedSPI

public final class DirectPostingsFormat
extends PostingsFormat

Wraps Lucene41PostingsFormat format for on-disk storage, but then at read time loads and stores all terms & postings directly in RAM as byte[], int[].

WARNING: This is exceptionally RAM intensive: it makes no effort to compress the postings data, storing terms as separate byte[] and postings as separate int[], but as a result it gives substantial increase in search performance.

This postings format supports TermsEnum.ord() and TermsEnum.seekExact(long).

Because this holds all term bytes as a single byte[], you cannot have more than 2.1GB worth of term bytes in a single segment.

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

Field Summary
 
Fields inherited from class org.apache.lucene.codecs.PostingsFormat
EMPTY
 
Constructor Summary
DirectPostingsFormat()
           
DirectPostingsFormat(int minSkipCount, int lowFreqCutoff)
          minSkipCount is how many terms in a row must have the same prefix before we put a skip pointer down.
 
Method Summary
 FieldsConsumer fieldsConsumer(SegmentWriteState state)
           
 FieldsProducer fieldsProducer(SegmentReadState state)
           
 
Methods inherited from class org.apache.lucene.codecs.PostingsFormat
availablePostingsFormats, forName, getName, reloadPostingsFormats, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DirectPostingsFormat

public DirectPostingsFormat()

DirectPostingsFormat

public DirectPostingsFormat(int minSkipCount,
                            int lowFreqCutoff)
minSkipCount is how many terms in a row must have the same prefix before we put a skip pointer down. Terms with docFreq <= lowFreqCutoff will use a single int[] to hold all docs, freqs, position and offsets; terms with higher docFreq will use separate arrays.

Method Detail

fieldsConsumer

public FieldsConsumer fieldsConsumer(SegmentWriteState state)
                              throws IOException
Specified by:
fieldsConsumer in class PostingsFormat
Throws:
IOException

fieldsProducer

public FieldsProducer fieldsProducer(SegmentReadState state)
                              throws IOException
Specified by:
fieldsProducer in class PostingsFormat
Throws:
IOException


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