Package org.apache.lucene.codecs
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 java.lang.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 java.util.Set<java.lang.String>availableCodecs()returns a list of all available codec namesabstract DocValuesFormatdocValuesFormat()Encodes/decodes docvaluesabstract FieldInfosFormatfieldInfosFormat()Encodes/decodes field infos filestatic CodecforName(java.lang.String name)looks up a codec by namestatic CodecgetDefault()expert: returns the default codec used for newly createdIndexWriterConfigs.java.lang.StringgetName()Returns this codec's nameabstract LiveDocsFormatliveDocsFormat()Encodes/decodes live docsabstract NormsFormatnormsFormat()Encodes/decodes document normalization valuesabstract PostingsFormatpostingsFormat()Encodes/decodes postingsstatic voidreloadCodecs(java.lang.ClassLoader classloader)Reloads the codec list from the givenClassLoader.abstract SegmentInfoFormatsegmentInfoFormat()Encodes/decodes segment info filestatic voidsetDefault(Codec codec)expert: sets the default codec used for newly createdIndexWriterConfigs.abstract StoredFieldsFormatstoredFieldsFormat()Encodes/decodes stored fieldsabstract TermVectorsFormattermVectorsFormat()Encodes/decodes term vectorsjava.lang.StringtoString()returns the codec's name.
-
-
-
Method Detail
-
getName
public final java.lang.String getName()
Returns this codec's name- Specified by:
getNamein 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
-
forName
public static Codec forName(java.lang.String name)
looks up a codec by name
-
availableCodecs
public static java.util.Set<java.lang.String> availableCodecs()
returns a list of all available codec names
-
reloadCodecs
public static void reloadCodecs(java.lang.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 createdIndexWriterConfigs.
-
setDefault
public static void setDefault(Codec codec)
expert: sets the default codec used for newly createdIndexWriterConfigs.
-
toString
public java.lang.String toString()
returns the codec's name. Subclasses can override to provide more detail (such as parameters).- Overrides:
toStringin classjava.lang.Object
-
-