public final class DirectPostingsFormat extends PostingsFormat
Lucene84PostingsFormat 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.
| Modifier and Type | Class and Description |
|---|---|
private static class |
DirectPostingsFormat.DirectField |
private static class |
DirectPostingsFormat.DirectFields |
private static class |
DirectPostingsFormat.HighFreqDocsEnum |
private static class |
DirectPostingsFormat.HighFreqPostingsEnum |
private static class |
DirectPostingsFormat.LowFreqDocsEnum |
private static class |
DirectPostingsFormat.LowFreqDocsEnumNoPos |
private static class |
DirectPostingsFormat.LowFreqDocsEnumNoTF |
private static class |
DirectPostingsFormat.LowFreqPostingsEnum |
| Modifier and Type | Field and Description |
|---|---|
private static int |
DEFAULT_LOW_FREQ_CUTOFF |
private static int |
DEFAULT_MIN_SKIP_COUNT |
private int |
lowFreqCutoff |
private int |
minSkipCount |
EMPTY| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
FieldsConsumer |
fieldsConsumer(SegmentWriteState state)
Writes a new segment
|
FieldsProducer |
fieldsProducer(SegmentReadState state)
Reads a segment.
|
availablePostingsFormats, forName, getName, reloadPostingsFormats, toStringprivate final int minSkipCount
private final int lowFreqCutoff
private static final int DEFAULT_MIN_SKIP_COUNT
private static final int DEFAULT_LOW_FREQ_CUTOFF
public DirectPostingsFormat()
public DirectPostingsFormat(int minSkipCount,
int lowFreqCutoff)
public FieldsConsumer fieldsConsumer(SegmentWriteState state) throws java.io.IOException
PostingsFormatfieldsConsumer in class PostingsFormatjava.io.IOExceptionpublic FieldsProducer fieldsProducer(SegmentReadState state) throws java.io.IOException
PostingsFormatfieldsProducer in class PostingsFormatjava.io.IOException