@Deprecated public class Lucene42DocValuesFormat extends DocValuesFormat
Encodes the four per-document value types (Numeric,Binary,Sorted,SortedSet) with seven basic strategies.
acceptableOverheadRatio
would pack values into 8 bits per value anyway, they
are written as absolute values (with no indirection or packing) for performance.
Files:
The DocValues metadata or .dvm file.
For DocValues field, this stores metadata, such as the offset into the DocValues data (.dvd)
DocValues metadata (.dvm) --> Header,<FieldNumber,EntryType,Entry>NumFields,Footer
VInt
Int64
Byte
CodecHeader
CodecFooter
Sorted fields have two entries: a SortedEntry with the FST metadata, and an ordinary NumericEntry for the document-to-ord metadata.
SortedSet fields have two entries: a SortedEntry with the FST metadata, and an ordinary BinaryEntry for the document-to-ord-list metadata.
FieldNumber of -1 indicates the end of metadata.
EntryType is a 0 (NumericEntry), 1 (BinaryEntry, or 2 (SortedEntry)
DataOffset is the pointer to the start of the data in the DocValues data (.dvd)
CompressionType indicates how Numeric values will be compressed:
acceptableOverheadRatio
parameter would upgrade the number
of bits required to 8, and all values fit in a byte, these are written as absolute binary values
for performance.
MinLength and MaxLength represent the min and max byte[] value lengths for Binary values. If they are equal, then all values are of a fixed size, and can be addressed as DataOffset + (docID * length). Otherwise, the binary values are of variable size, and packed integer metadata (PackedVersion,BlockSize) is written for the addresses.
The DocValues data or .dvd file.
For DocValues field, this stores the actual per-document data (the heavy-lifting)
DocValues data (.dvd) --> Header,<NumericData | BinaryData | SortedData>NumFields,Footer
Byte
DataLength,AddressesFST<Int64>
BlockPackedInts(blockSize=4096)
Int64
TableSize,PackedInts
Byte
maxdocMonotonicBlockPackedInts(blockSize=4096)
CodecFooter
SortedSet entries store the list of ordinals in their BinaryData as a
sequences of increasing vLong
s, delta-encoded.
Limitations:
MAX_BINARY_FIELD_LENGTH
in length.
Modifier and Type | Field and Description |
---|---|
static int |
MAX_BINARY_FIELD_LENGTH
Deprecated.
Maximum length for each binary doc values field.
|
Constructor and Description |
---|
Lucene42DocValuesFormat()
Deprecated.
|
Lucene42DocValuesFormat(float acceptableOverheadRatio)
Deprecated.
Creates a new Lucene42DocValuesFormat with the specified
acceptableOverheadRatio for NumericDocValues. |
Modifier and Type | Method and Description |
---|---|
DocValuesConsumer |
fieldsConsumer(SegmentWriteState state)
Deprecated.
Returns a
DocValuesConsumer to write docvalues to the
index. |
DocValuesProducer |
fieldsProducer(SegmentReadState state)
Deprecated.
Returns a
DocValuesProducer to read docvalues from the index. |
availableDocValuesFormats, forName, getName, reloadDocValuesFormats, toString
public static final int MAX_BINARY_FIELD_LENGTH
public Lucene42DocValuesFormat()
public Lucene42DocValuesFormat(float acceptableOverheadRatio)
acceptableOverheadRatio
for NumericDocValues.acceptableOverheadRatio
- compression parameter for numerics.
Currently this is only used when the number of unique values is small.public DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws IOException
DocValuesFormat
DocValuesConsumer
to write docvalues to the
index.fieldsConsumer
in class DocValuesFormat
IOException
public DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException
DocValuesFormat
DocValuesProducer
to read docvalues from the index.
NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.
fieldsProducer
in class DocValuesFormat
IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.