Class PerFieldDocValuesFormat
- All Implemented Interfaces:
NamedSPILoader.NamedSPI
Note, when extending this class, the name (DocValuesFormat.getName()
) is written into the index. In
order for the field to be read, the name must resolve to your implementation via DocValuesFormat.forName(String)
. This method uses Java's Service Provider Interface
to
resolve format names.
Files written by each docvalues format have an additional suffix containing the format name.
For example, in a per-field configuration instead of _1.dat
filenames would look
like _1_Lucene40_0.dat
.
- See Also:
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal DocValuesConsumer
fieldsConsumer
(SegmentWriteState state) Returns aDocValuesConsumer
to write docvalues to the index.final DocValuesProducer
fieldsProducer
(SegmentReadState state) Returns aDocValuesProducer
to read docvalues from the index.abstract DocValuesFormat
getDocValuesFormatForField
(String field) Returns the doc values format that should be used for writing new segments offield
.Methods inherited from class org.apache.lucene.codecs.DocValuesFormat
availableDocValuesFormats, forName, getName, reloadDocValuesFormats, toString
-
Field Details
-
PER_FIELD_NAME
Name of thisDocValuesFormat
.- See Also:
-
PER_FIELD_FORMAT_KEY
FieldInfo
attribute name used to store the format name for each field. -
PER_FIELD_SUFFIX_KEY
FieldInfo
attribute name used to store the segment suffix name for each field.
-
-
Constructor Details
-
PerFieldDocValuesFormat
protected PerFieldDocValuesFormat()Sole constructor.
-
-
Method Details
-
fieldsConsumer
Description copied from class:DocValuesFormat
Returns aDocValuesConsumer
to write docvalues to the index.- Specified by:
fieldsConsumer
in classDocValuesFormat
- Throws:
IOException
-
fieldsProducer
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:
IOException
-
getDocValuesFormatForField
Returns the doc values format that should be used for writing new segments offield
.The field to format mapping is written to the index, so this method is only invoked when writing, not when reading.
-