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.
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. |
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.
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.