Class Codec
- java.lang.Object
-
- org.apache.lucene.codecs.Codec
-
- All Implemented Interfaces:
NamedSPILoader.NamedSPI
- Direct Known Subclasses:
FilterCodec
,Lucene3xCodec
,Lucene40Codec
,Lucene41Codec
,Lucene42Codec
,Lucene45Codec
,Lucene46Codec
public abstract class Codec extends Object implements NamedSPILoader.NamedSPI
Encodes/decodes an inverted index segment.Note, when extending this class, the name (
getName()
) is written into the index. In order for the segment to be read, the name must resolve to your implementation viaforName(String)
. This method uses Java'sService Provider Interface
(SPI) to resolve codec names.If you implement your own codec, make sure that it has a no-arg constructor so SPI can load it.
- See Also:
ServiceLoader
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Set<String>
availableCodecs()
returns a list of all available codec namesabstract DocValuesFormat
docValuesFormat()
Encodes/decodes docvaluesabstract FieldInfosFormat
fieldInfosFormat()
Encodes/decodes field infos filestatic Codec
forName(String name)
looks up a codec by namestatic Codec
getDefault()
expert: returns the default codec used for newly createdIndexWriterConfig
s.String
getName()
Returns this codec's nameabstract LiveDocsFormat
liveDocsFormat()
Encodes/decodes live docsabstract NormsFormat
normsFormat()
Encodes/decodes document normalization valuesabstract PostingsFormat
postingsFormat()
Encodes/decodes postingsstatic void
reloadCodecs(ClassLoader classloader)
Reloads the codec list from the givenClassLoader
.abstract SegmentInfoFormat
segmentInfoFormat()
Encodes/decodes segment info filestatic void
setDefault(Codec codec)
expert: sets the default codec used for newly createdIndexWriterConfig
s.abstract StoredFieldsFormat
storedFieldsFormat()
Encodes/decodes stored fieldsabstract TermVectorsFormat
termVectorsFormat()
Encodes/decodes term vectorsString
toString()
returns the codec's name.
-
-
-
Constructor Detail
-
Codec
protected Codec(String name)
Creates a new codec.The provided name will be written into the index segment: in order to 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).
- Parameters:
name
- must be all ascii alphanumeric, and less than 128 characters in length.
-
-
Method Detail
-
getName
public final String getName()
Returns this codec's name- Specified by:
getName
in interfaceNamedSPILoader.NamedSPI
-
postingsFormat
public abstract PostingsFormat postingsFormat()
Encodes/decodes postings
-
docValuesFormat
public abstract DocValuesFormat docValuesFormat()
Encodes/decodes docvalues
-
storedFieldsFormat
public abstract StoredFieldsFormat storedFieldsFormat()
Encodes/decodes stored fields
-
termVectorsFormat
public abstract TermVectorsFormat termVectorsFormat()
Encodes/decodes term vectors
-
fieldInfosFormat
public abstract FieldInfosFormat fieldInfosFormat()
Encodes/decodes field infos file
-
segmentInfoFormat
public abstract SegmentInfoFormat segmentInfoFormat()
Encodes/decodes segment info file
-
normsFormat
public abstract NormsFormat normsFormat()
Encodes/decodes document normalization values
-
liveDocsFormat
public abstract LiveDocsFormat liveDocsFormat()
Encodes/decodes live docs
-
availableCodecs
public static Set<String> availableCodecs()
returns a list of all available codec names
-
reloadCodecs
public static void reloadCodecs(ClassLoader classloader)
Reloads the codec list from the givenClassLoader
. Changes to the codecs are visible after the method ends, all iterators (availableCodecs()
,...) stay consistent.NOTE: Only new codecs are added, existing ones are never removed or replaced.
This method is expensive and should only be called for discovery of new codecs on the given classpath/classloader!
-
getDefault
public static Codec getDefault()
expert: returns the default codec used for newly createdIndexWriterConfig
s.
-
setDefault
public static void setDefault(Codec codec)
expert: sets the default codec used for newly createdIndexWriterConfig
s.
-
-