## org.apache.lucene.codecs.memory
Class DirectPostingsFormat

    java.lang.Object
      org.apache.lucene.codecs.PostingsFormat
          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.