Class Lucene90FieldInfosFormat
java.lang.Object
org.apache.lucene.codecs.FieldInfosFormat
org.apache.lucene.backward_codecs.lucene90.Lucene90FieldInfosFormat
Lucene 9.0 Field Infos format.
Field names are stored in the field info file, with suffix .fnm
.
FieldInfos (.fnm) --> Header,FieldsCount, <FieldName,FieldNumber, FieldBits,DocValuesBits,DocValuesGen,Attributes,DimensionCount,DimensionNumBytes> FieldsCount,Footer
Data types:
- Header -->
IndexHeader
- FieldsCount -->
VInt
- FieldName -->
String
- FieldBits, IndexOptions, DocValuesBits -->
Byte
- FieldNumber, DimensionCount, DimensionNumBytes -->
VInt
- Attributes -->
Map<String,String>
- DocValuesGen -->
Int64
- Footer -->
CodecFooter
- FieldsCount: the number of fields in this file.
- FieldName: name of the field as a UTF-8 String.
- FieldNumber: the field's number. Note that unlike previous versions of Lucene, the fields are not numbered implicitly by their order in the file, instead explicitly.
- FieldBits: a byte containing field options.
- The low order bit (0x1) is one for fields that have term vectors stored, and zero for fields without term vectors.
- If the second lowest order-bit is set (0x2), norms are omitted for the indexed field.
- If the third lowest-order bit is set (0x4), payloads are stored for the indexed field.
- IndexOptions: a byte containing index options.
- 0: not indexed
- 1: indexed as DOCS_ONLY
- 2: indexed as DOCS_AND_FREQS
- 3: indexed as DOCS_AND_FREQS_AND_POSITIONS
- 4: indexed as DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS
- DocValuesBits: a byte containing per-document value types. The type recorded as two
four-bit integers, with the high-order bits representing
norms
options, and the low-order bits representingDocValues
options. Each four-bit integer can be decoded as such:- 0: no DocValues for this field.
- 1: NumericDocValues. (
DocValuesType.NUMERIC
) - 2: BinaryDocValues. (
DocValuesType#BINARY
) - 3: SortedDocValues. (
DocValuesType#SORTED
)
- DocValuesGen is the generation count of the field's DocValues. If this is -1, there are no
DocValues updates to that field. Anything above zero means there are updates stored by
DocValuesFormat
. - Attributes: a key-value map of codec-private attributes.
- PointDimensionCount, PointNumBytes: these are non-zero only if the field is indexed as
points, e.g. using
LongPoint
- VectorDimension: it is non-zero if the field is indexed as vectors.
- VectorSimilarityFunction: a byte containing distance function used for similarity
calculation.
- 0: EUCLIDEAN distance. (
VectorSimilarityFunction.EUCLIDEAN
) - 1: DOT_PRODUCT similarity. (
VectorSimilarityFunction.DOT_PRODUCT
) - 2: COSINE similarity. (
VectorSimilarityFunction.COSINE
)
- 0: EUCLIDEAN distance. (
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionread
(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext context) void
write
(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context)
-
Constructor Details
-
Lucene90FieldInfosFormat
public Lucene90FieldInfosFormat()Sole constructor.
-
-
Method Details
-
read
public FieldInfos read(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext context) throws IOException - Specified by:
read
in classFieldInfosFormat
- Throws:
IOException
-
write
public void write(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context) throws IOException - Specified by:
write
in classFieldInfosFormat
- Throws:
IOException
-