Package 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
Wraps
Lucene90PostingsFormat
format for on-disk storage, but then at read time loads and
stores all terms and 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
ConstructorDescriptionDirectPostingsFormat
(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
Modifier and TypeMethodDescriptionfieldsConsumer
(SegmentWriteState state) fieldsProducer
(SegmentReadState state) Methods inherited from class org.apache.lucene.codecs.PostingsFormat
availablePostingsFormats, forName, getName, reloadPostingsFormats, toString
-
Constructor Details
-
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 Details
-
fieldsConsumer
- Specified by:
fieldsConsumer
in classPostingsFormat
- Throws:
IOException
-
fieldsProducer
- Specified by:
fieldsProducer
in classPostingsFormat
- Throws:
IOException
-