public abstract class DocValuesFormat extends implements NamedSPILoader.NamedSPI
Note, when extending this class, the name (getName()
) may
written into the index in certain configurations. In order for the segment
to be read, the name must resolve to your implementation via forName(String)
.
This method uses Java's
(SPI) to resolve format names.
If you implement your own format, make sure that it has a no-arg constructor so SPI can load it.
Modifier | Constructor and Description |
---|---|
protected |
name)
Creates a new docvalues format.
|
Modifier and Type | Method and Description |
---|---|
static <> |
availableDocValuesFormats()
returns a list of all available format names
|
abstract DocValuesConsumer |
fieldsConsumer(SegmentWriteState state)
Returns a
DocValuesConsumer to write docvalues to the
index. |
abstract DocValuesProducer |
fieldsProducer(SegmentReadState state)
Returns a
DocValuesProducer to read docvalues from the index. |
static DocValuesFormat |
name)
looks up a format by name
|
|
getName() |
static void |
classloader)
Reloads the DocValues format list from the given .
|
|
toString() |
protected DocValuesFormat( name)
The provided name will be written into the index segment in some configurations
(such as when using PerFieldDocValuesFormat
): in such configurations,
for the segment to be read this class should be registered with Java's
SPI mechanism (registered in META-INF/ of your jar file, etc).
name
- must be all ascii alphanumeric, and less than 128 characters in length.public abstract DocValuesConsumer fieldsConsumer(SegmentWriteState state) throws
DocValuesConsumer
to write docvalues to the
index.
public abstract DocValuesProducer fieldsProducer(SegmentReadState state) throws
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.
public final getName()
getName
in interface NamedSPILoader.NamedSPI
public toString()
in class
public static name)
public static <> availableDocValuesFormats()
public static void reloadDocValuesFormats( classloader)
availableDocValuesFormats()
,...) stay consistent.
NOTE: Only new docvalues formats are added, existing ones are never removed or replaced.
This method is expensive and should only be called for discovery of new docvalues formats on the given classpath/classloader!
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.