public final class DirectPostingsFormat extends PostingsFormat
Lucene50PostingsFormat
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, toString
private 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
PostingsFormat
fieldsConsumer
in class PostingsFormat
java.io.IOException
public FieldsProducer fieldsProducer(SegmentReadState state) throws java.io.IOException
PostingsFormat
fieldsProducer
in class PostingsFormat
java.io.IOException