Package org.apache.lucene.codecs.memory
Class DirectDocValuesFormat
- java.lang.Object
-
- org.apache.lucene.codecs.DocValuesFormat
-
- org.apache.lucene.codecs.memory.DirectDocValuesFormat
-
- All Implemented Interfaces:
NamedSPILoader.NamedSPI
public class DirectDocValuesFormat extends DocValuesFormat
In-memory docvalues format that does no (or very little) compression. Indexed values are stored on disk, but then at search time all values are loaded into memory as simple java arrays. For numeric values, it uses byte[], short[], int[], long[] as necessary to fit the range of the values. For binary values, there is an int (4 bytes) overhead per value.Limitations:
- For binary and sorted fields the total space required for all binary values cannot exceed about 2.1 GB (see #MAX_TOTAL_BYTES_LENGTH).
- For sorted set fields, the sum of the size of each
document's set of values cannot exceed about 2.1 B
values (see #MAX_SORTED_SET_ORDS). For example,
if every document has 10 values (10 instances of
SortedSetDocValuesField
) added, then no more than ~210 M documents can be added to one segment.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.String
DATA_CODEC
(package private) static java.lang.String
DATA_EXTENSION
static int
MAX_SORTED_SET_ORDS
The sum of the number of values across all documents in a sorted set field cannot exceed this.static int
MAX_TOTAL_BYTES_LENGTH
The sum of all byte lengths for binary field, or for the unique values in sorted or sorted set fields, cannot exceed this.(package private) static java.lang.String
METADATA_CODEC
(package private) static java.lang.String
METADATA_EXTENSION
-
Constructor Summary
Constructors Constructor Description DirectDocValuesFormat()
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DocValuesConsumer
fieldsConsumer(SegmentWriteState state)
Returns aDocValuesConsumer
to write docvalues to the index.DocValuesProducer
fieldsProducer(SegmentReadState state)
Returns aDocValuesProducer
to read docvalues from the index.-
Methods inherited from class org.apache.lucene.codecs.DocValuesFormat
availableDocValuesFormats, forName, getName, reloadDocValuesFormats, toString
-
-
-
-
Field Detail
-
MAX_TOTAL_BYTES_LENGTH
public static final int MAX_TOTAL_BYTES_LENGTH
The sum of all byte lengths for binary field, or for the unique values in sorted or sorted set fields, cannot exceed this.
-
MAX_SORTED_SET_ORDS
public static final int MAX_SORTED_SET_ORDS
The sum of the number of values across all documents in a sorted set field cannot exceed this.
-
DATA_CODEC
static final java.lang.String DATA_CODEC
- See Also:
- Constant Field Values
-
DATA_EXTENSION
static final java.lang.String DATA_EXTENSION
- See Also:
- Constant Field Values
-
METADATA_CODEC
static final java.lang.String METADATA_CODEC
- See Also:
- Constant Field Values
-
METADATA_EXTENSION
static final java.lang.String METADATA_EXTENSION
- See Also:
- Constant Field Values
-
-
Method Detail
-
fieldsConsumer
public DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws java.io.IOException
Description copied from class:DocValuesFormat
Returns aDocValuesConsumer
to write docvalues to the index.- Specified by:
fieldsConsumer
in classDocValuesFormat
- Throws:
java.io.IOException
-
fieldsProducer
public DocValuesProducer fieldsProducer(SegmentReadState state) throws java.io.IOException
Description copied from class:DocValuesFormat
Returns aDocValuesProducer
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.
- Specified by:
fieldsProducer
in classDocValuesFormat
- Throws:
java.io.IOException
-
-