Class Lucene90FieldInfosFormat
java.lang.Object
org.apache.lucene.codecs.FieldInfosFormat
org.apache.lucene.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) Writes the providedFieldInfos
to the directory.
-
Constructor Details
-
Lucene90FieldInfosFormat
public Lucene90FieldInfosFormat()Sole constructor.
-
-
Method Details
-
read
public FieldInfos read(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, IOContext context) throws IOException Description copied from class:FieldInfosFormat
Read theFieldInfos
previously written withFieldInfosFormat.write(org.apache.lucene.store.Directory, org.apache.lucene.index.SegmentInfo, java.lang.String, org.apache.lucene.index.FieldInfos, org.apache.lucene.store.IOContext)
.- Specified by:
read
in classFieldInfosFormat
- Throws:
IOException
-
write
public void write(Directory directory, SegmentInfo segmentInfo, String segmentSuffix, FieldInfos infos, IOContext context) throws IOException Description copied from class:FieldInfosFormat
Writes the providedFieldInfos
to the directory.- Specified by:
write
in classFieldInfosFormat
- Throws:
IOException
-