See: Description
Class | Description |
---|---|
BlockTermState |
Holds all state required for
PostingsReaderBase
to produce a PostingsEnum without re-seeking the
terms dict. |
Codec |
Encodes/decodes an inverted index segment.
|
CodecUtil |
Utility class for reading and writing versioned headers.
|
CompoundFormat |
Encodes/decodes compound files
|
DocValuesConsumer |
Abstract API that consumes numeric, binary and
sorted docvalues.
|
DocValuesFormat |
Encodes/decodes per-document values.
|
DocValuesProducer |
Abstract API that produces numeric, binary, sorted, sortedset,
and sortednumeric docvalues.
|
FieldInfosFormat |
Encodes/decodes
FieldInfos |
FieldsConsumer |
Abstract API that consumes terms, doc, freq, prox, offset and
payloads postings.
|
FieldsProducer |
Abstract API that produces terms, doc, freq, prox, offset and
payloads postings.
|
FilterCodec |
A codec that forwards all its method calls to another codec.
|
LegacyDocValuesIterables |
Bridge helper methods for legacy codecs to map sorted doc values to iterables.
|
LiveDocsFormat |
Format for live/deleted documents
|
MultiLevelSkipListReader |
This abstract class reads skip lists with multiple levels.
|
MultiLevelSkipListWriter |
This abstract class writes skip lists with multiple levels.
|
MutablePointValues |
PointValues whose order of points can be changed. |
NormsConsumer |
Abstract API that consumes normalization values.
|
NormsFormat |
Encodes/decodes per-document score normalization values.
|
NormsProducer |
Abstract API that produces field normalization values
|
PointsFormat |
Encodes/decodes indexed points.
|
PointsReader |
Abstract API to visit point values.
|
PointsWriter |
Abstract API to write points
|
PostingsFormat |
Encodes/decodes terms, postings, and proximity data.
|
PostingsReaderBase |
The core terms dictionaries (BlockTermsReader,
BlockTreeTermsReader) interact with a single instance
of this class to manage creation of
PostingsEnum and
PostingsEnum instances. |
PostingsWriterBase |
Class that plugs into term dictionaries, such as
BlockTreeTermsWriter , and handles writing postings. |
PushPostingsWriterBase |
Extension of
PostingsWriterBase , adding a push
API for writing each element of the postings. |
SegmentInfoFormat |
Expert: Controls the format of the
SegmentInfo (segment metadata file). |
StoredFieldsFormat |
Controls the format of stored fields
|
StoredFieldsReader |
Codec API for reading stored fields.
|
StoredFieldsWriter |
Codec API for writing stored fields:
For every document,
StoredFieldsWriter.startDocument() is called,
informing the Codec that a new document has started. |
TermStats |
Holder for per-term statistics.
|
TermVectorsFormat |
Controls the format of term vectors
|
TermVectorsReader |
Codec API for reading term vectors:
|
TermVectorsWriter |
Codec API for writing term vectors:
For every document,
TermVectorsWriter.startDocument(int) is called,
informing the Codec how many fields will be written. |
The Codec API allows you to customise the way the following pieces of index information are stored:
PostingsFormat
DocValuesFormat
StoredFieldsFormat
TermVectorsFormat
PointsFormat
FieldInfosFormat
SegmentInfoFormat
NormsFormat
LiveDocsFormat
Codecs are identified by name through the Java Service Provider Interface. To create your own codec, extend
Codec
and pass the new codec's name to the super() constructor:
public class MyCodec extends Codec { public MyCodec() { super("MyCodecName"); } ... }You will need to register the Codec class so that the
ServiceLoader
can find it, by including a
META-INF/services/org.apache.lucene.codecs.Codec file on your classpath that contains the package-qualified
name of your codec.
If you just want to customise the PostingsFormat
, or use different postings
formats for different fields, then you can register your custom postings format in the same way (in
META-INF/services/org.apache.lucene.codecs.PostingsFormat), and then extend the default
codec and override
org.apache.lucene.codecs.luceneMN.LuceneMNCodec#getPostingsFormatForField(String)
to return your custom
postings format.
Similarly, if you just want to customise the DocValuesFormat
per-field, have
a look at LuceneMNCodec.getDocValuesFormatForField(String)
.
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.