Class TSDBSyntheticIdCodec
- All Implemented Interfaces:
org.apache.lucene.util.NamedSPILoader.NamedSPI
The role of this codec is to ensure that no inverted index is created when indexing a document id in Lucene, while allowing the usage of terms and postings on the field (now called a "synthetic _id" field) as if it was backed by an in inverted index.
In order to do this, it enforces synthetic _id fields to be indexed with the IndexOptions.NONE option, hence preventing the
building of a term dictionary with postings lists. The codec also changes this IndexOptions.NONE option back to
IndexOptions.DOCS when reading the FieldInfos during the opening of a new segment core reader. This allows to use a
Lucene term dictionary on top of a synthetic _id field that does not have corresponding postings files on disk. Finally, the codec
injects additional FieldInfos attributes so that Lucene's PerFieldPostingsFormat correctly instantiates a
TSDBSyntheticIdPostingsFormat to access the term and postings of the synthetic _id field.
-
Field Summary
Fields inherited from class org.apache.lucene.codecs.FilterCodec
delegate -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal org.apache.lucene.codecs.FieldInfosFormatMethods inherited from class org.apache.lucene.codecs.FilterCodec
compoundFormat, docValuesFormat, knnVectorsFormat, liveDocsFormat, normsFormat, pointsFormat, postingsFormat, segmentInfoFormat, storedFieldsFormat, termVectorsFormatMethods inherited from class org.apache.lucene.codecs.Codec
availableCodecs, forName, getDefault, getName, reloadCodecs, setDefault, toString
-
Constructor Details
-
TSDBSyntheticIdCodec
-
-
Method Details
-
fieldInfosFormat
public final org.apache.lucene.codecs.FieldInfosFormat fieldInfosFormat()- Overrides:
fieldInfosFormatin classorg.apache.lucene.codecs.FilterCodec
-