org.apache.lucene.codecs.lucene70

## Class Lucene70SegmentInfoFormat

- java.lang.Object
- - org.apache.lucene.codecs.SegmentInfoFormat
  - - org.apache.lucene.codecs.lucene70.Lucene70SegmentInfoFormat

    public class Lucene70SegmentInfoFormat
    extends SegmentInfoFormat

Lucene 7.0 Segment info format.

Files:

- `.si`: Header, SegVersion, SegSize, IsCompoundFile, Diagnostics, Files, Attributes, IndexSort, Footer

Data types:

- Header --> `IndexHeader`
- SegSize --> `Int32`
- SegVersion --> `String`
- SegMinVersion --> `String`
- Files --> `Set<String>`
- Diagnostics,Attributes --> `Map<String,String>`
- IsCompoundFile --> `Int8`
- IndexSort --> `Int32` count, followed by `count` SortField
- SortField --> `String` field name, followed by `Int32` sort type ID, followed by `Int8` indicating reversed sort, followed by a type-specific encoding of the optional missing value
- Footer --> `CodecFooter`

Field Descriptions:

- SegVersion is the code version that created the segment.
- SegMinVersion is the minimum code version that contributed documents to the segment.
- SegSize is the number of documents contained in the segment index.
- IsCompoundFile records whether the segment is written as a compound file or not. If this is -1, the segment is not a compound file. If it is 1, the segment is a compound file.
- The Diagnostics Map is privately written by `IndexWriter`, as a debugging aid, for each segment it creates. It includes metadata like the current Lucene version, OS, Java version, why the segment was created (merge, flush, addIndexes), etc.
- Files is a list of files referred to by this segment.

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

### Field Summary

Fields
`static String` `SI_EXTENSION` File extension used to store `SegmentInfo`.

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`SegmentInfo` `read(Directory dir, String segment, byte[] segmentID, IOContext context)`
`void` `write(Directory dir, SegmentInfo si, IOContext ioContext)`

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

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

### Field Detail

#### SI_EXTENSION

    public static final String SI_EXTENSION

File extension used to store `SegmentInfo`.

See Also:
  Constant Field Values

### Constructor Detail

#### Lucene70SegmentInfoFormat

    public Lucene70SegmentInfoFormat()

Sole constructor.

### Method Detail

#### read

    public SegmentInfo read(Directory dir,
                            String segment,
                            byte[] segmentID,
                            IOContext context)
                     throws IOException

Specified by:
  `read` in class `SegmentInfoFormat`
Throws:
  `IOException`

#### write

    public void write(Directory dir,
                      SegmentInfo si,
                      IOContext ioContext)
               throws IOException

Specified by:
  `write` in class `SegmentInfoFormat`
Throws:
  `IOException`