Class Lucene40StoredFieldsFormat

java.lang.Object
org.apache.lucene.codecs.StoredFieldsFormat
org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat

public class Lucene40StoredFieldsFormat extends StoredFieldsFormat
Lucene 4.0 Stored Fields Format.

Stored fields are represented by two files:

  1. The field index, or .fdx file.

    This is used to find the location within the field data file of the fields of a particular document. Because it contains fixed-length data, this file may be easily randomly accessed. The position of document n 's field data is the Uint64 at n*8 in this file.

    This contains, for each document, a pointer to its field data, as follows:

    • FieldIndex (.fdx) --> <Header>, <FieldValuesPosition> SegSize
    • Header --> CodecHeader
    • FieldValuesPosition --> Uint64
  2. The field data, or .fdt file.

    This contains the stored fields of each document, as follows:

    • FieldData (.fdt) --> <Header>, <DocFieldData> SegSize
    • Header --> CodecHeader
    • DocFieldData --> FieldCount, <FieldNum, Bits, Value> FieldCount
    • FieldCount --> VInt
    • FieldNum --> VInt
    • Bits --> Byte
      • low order bit reserved.
      • second bit is one for fields containing binary data
      • third bit reserved.
      • 4th to 6th bit (mask: 0x7<<3) define the type of a numeric field:
    • Value --> String | BinaryValue | Int | Long (depending on Bits)
    • BinaryValue --> ValueSize, <Byte>^ValueSize
    • ValueSize --> VInt