public class UniformSplitPostingsFormat extends PostingsFormat
PostingsFormat
based on the Uniform Split technique.UniformSplitTermsWriter
Modifier and Type | Field and Description |
---|---|
protected BlockDecoder |
blockDecoder |
protected BlockEncoder |
blockEncoder |
protected int |
deltaNumLines |
protected boolean |
dictionaryOnHeap |
static String |
NAME |
protected int |
targetNumBlockLines |
static String |
TERMS_BLOCKS_EXTENSION
Extension of the file containing the terms blocks for each field and the fields metadata.
|
static String |
TERMS_DICTIONARY_EXTENSION
Extension of the file containing the terms dictionary (the FST "trie").
|
static int |
VERSION_CURRENT |
static int |
VERSION_ENCODABLE_FIELDS_METADATA |
static int |
VERSION_START |
EMPTY
Modifier | Constructor and Description |
---|---|
|
UniformSplitPostingsFormat()
Creates a
UniformSplitPostingsFormat with default settings. |
|
UniformSplitPostingsFormat(int targetNumBlockLines,
int deltaNumLines,
BlockEncoder blockEncoder,
BlockDecoder blockDecoder,
boolean dictionaryOnHeap) |
protected |
UniformSplitPostingsFormat(String name,
int targetNumBlockLines,
int deltaNumLines,
BlockEncoder blockEncoder,
BlockDecoder blockDecoder,
boolean dictionaryOnHeap) |
Modifier and Type | Method and Description |
---|---|
protected FieldsProducer |
createUniformSplitTermsReader(PostingsReaderBase postingsReader,
SegmentReadState state,
BlockDecoder blockDecoder) |
protected FieldsConsumer |
createUniformSplitTermsWriter(PostingsWriterBase postingsWriter,
SegmentWriteState state,
int targetNumBlockLines,
int deltaNumLines,
BlockEncoder blockEncoder) |
FieldsConsumer |
fieldsConsumer(SegmentWriteState state) |
FieldsProducer |
fieldsProducer(SegmentReadState state) |
availablePostingsFormats, forName, getName, reloadPostingsFormats, toString
public static final String TERMS_DICTIONARY_EXTENSION
public static final String TERMS_BLOCKS_EXTENSION
public static final int VERSION_START
public static final int VERSION_ENCODABLE_FIELDS_METADATA
public static final int VERSION_CURRENT
public static final String NAME
protected final int targetNumBlockLines
protected final int deltaNumLines
protected final BlockEncoder blockEncoder
protected final BlockDecoder blockDecoder
protected final boolean dictionaryOnHeap
public UniformSplitPostingsFormat()
UniformSplitPostingsFormat
with default settings.public UniformSplitPostingsFormat(int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)
targetNumBlockLines
- Target number of lines per block.
Must be strictly greater than 0.
The parameters can be pre-validated with UniformSplitTermsWriter.validateSettings(int, int)
.
There is one term per block line, with its corresponding details (TermState
).deltaNumLines
- Maximum allowed delta variation of the number of lines per block.
Must be greater than or equal to 0 and strictly less than targetNumBlockLines
.
The block size will be targetNumBlockLines
+-deltaNumLines
.
The block size must always be less than or equal to UniformSplitTermsWriter.MAX_NUM_BLOCK_LINES
.blockEncoder
- Optional block encoder, may be null if none. If present, it is used to encode all terms
blocks, as well as the FST dictionary and the fields metadata.blockDecoder
- Optional block decoder, may be null if none. If present, it is used to decode all terms
blocks, as well as the FST dictionary and the fields metadata.dictionaryOnHeap
- Whether to force loading the terms dictionary on-heap. By default it is kept off-heap without
impact on performance. If block encoding/decoding is used, then the dictionary is always
loaded on-heap whatever this parameter value is.protected UniformSplitPostingsFormat(String name, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder, BlockDecoder blockDecoder, boolean dictionaryOnHeap)
public FieldsConsumer fieldsConsumer(SegmentWriteState state) throws IOException
fieldsConsumer
in class PostingsFormat
IOException
public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException
fieldsProducer
in class PostingsFormat
IOException
protected FieldsConsumer createUniformSplitTermsWriter(PostingsWriterBase postingsWriter, SegmentWriteState state, int targetNumBlockLines, int deltaNumLines, BlockEncoder blockEncoder) throws IOException
IOException
protected FieldsProducer createUniformSplitTermsReader(PostingsReaderBase postingsReader, SegmentReadState state, BlockDecoder blockDecoder) throws IOException
IOException
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.