org.apache.lucene.codecs.lucene42

## Class Lucene42FieldInfosFormat

- java.lang.Object
- - org.apache.lucene.codecs.FieldInfosFormat
  - - org.apache.lucene.codecs.lucene42.Lucene42FieldInfosFormat

    public final class Lucene42FieldInfosFormat
    extends FieldInfosFormat

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 --> `CodecHeader`
- FieldsCount --> `VInt`
- FieldName --> `String`
- FieldBits, DocValuesBits --> `Byte`
- FieldNumber --> `VInt`
- Attributes --> `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 `DocValues` options. Each four-bit integer can be decoded as such:
  - 0: no DocValues for this field.
  - 1: NumericDocValues. (`FieldInfo.DocValuesType.NUMERIC`)
  - 2: BinaryDocValues. (`DocValuesType#BINARY`)
  - 3: SortedDocValues. (`DocValuesType#SORTED`)
- Attributes: a key-value map of codec-private attributes.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Constructor Summary

Constructors
Constructor and Description
`Lucene42FieldInfosFormat()` Sole constructor.

### Method Summary

Methods
`FieldInfosReader` `getFieldInfosReader()` Returns a `FieldInfosReader` to read field infos from the index
`FieldInfosWriter` `getFieldInfosWriter()` Returns a `FieldInfosWriter` to write field infos to the index

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Lucene42FieldInfosFormat

    public Lucene42FieldInfosFormat()

Sole constructor.

### Method Detail

#### getFieldInfosReader

    public FieldInfosReader getFieldInfosReader()
                                         throws IOException

Description copied from class: `FieldInfosFormat`
Returns a `FieldInfosReader` to read field infos from the index

Specified by:
  `getFieldInfosReader` in class `FieldInfosFormat`
Throws:
  `IOException`

#### getFieldInfosWriter

    public FieldInfosWriter getFieldInfosWriter()
                                         throws IOException

Description copied from class: `FieldInfosFormat`
Returns a `FieldInfosWriter` to write field infos to the index

Specified by:
  `getFieldInfosWriter` in class `FieldInfosFormat`
Throws:
  `IOException`