Lucene 4.2 Field Infos format.
Field names are stored in the field info file, with suffix .fnm.
FieldInfos (.fnm) --> Header,FieldsCount, <FieldName,FieldNumber, FieldBits,DocValuesBits,Attributes> FieldsCount
Data types:
- Header --> {@link CodecUtil#checkHeader CodecHeader}
- FieldsCount --> {@link DataOutput#writeVInt VInt}
- FieldName --> {@link DataOutput#writeString String}
- FieldBits, DocValuesBits --> {@link DataOutput#writeByte Byte}
- FieldNumber --> {@link DataOutput#writeInt VInt}
- Attributes --> {@link DataOutput#writeStringStringMap Map<String,String>}
Field Descriptions:
- 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 is one for indexed fields, and zero for non-indexed fields.
- The second lowest-order bit is one for fields that have term vectors stored, and zero for fields without term vectors.
- If the third lowest order-bit is set (0x4), offsets are stored into the postings list in addition to positions.
- Fourth bit is unused.
- If the fifth lowest-order bit is set (0x10), norms are omitted for the indexed field.
- If the sixth lowest-order bit is set (0x20), payloads are stored for the indexed field.
- If the seventh lowest-order bit is set (0x40), term frequencies and positions omitted for the indexed field.
- If the eighth lowest-order bit is set (0x80), positions are omitted for the indexed field.
- 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 representing {@code DocValues} options. Each four-bit integer can be decoded as such: - 0: no DocValues for this field.
- 1: NumericDocValues. ( {@link DocValuesType#NUMERIC})
- 2: BinaryDocValues. ( {@code DocValuesType#BINARY})
- 3: SortedDocValues. ( {@code DocValuesType#SORTED})
- Attributes: a key-value map of codec-private attributes.
@lucene.experimental