Package org.apache.lucene.codecs.lucene90

# Class Lucene90CompoundFormat

java.lang.Object
org.apache.lucene.codecs.CompoundFormat
org.apache.lucene.codecs.lucene90.Lucene90CompoundFormat

public final class Lucene90CompoundFormat extends CompoundFormat
Lucene 9.0 compound file format

Files:

- `.cfs`: An optional "virtual" file consisting of all the other index files for systems that frequently run out of file handles.
- `.cfe`: The "virtual" compound file's entry table holding all entries in the corresponding .cfs file.

Description:

- Compound (.cfs) --> Header, FileData FileCount, Footer
- Compound Entry Table (.cfe) --> Header, FileCount, <FileName, DataOffset, DataLength> FileCount
- Header --> `IndexHeader`
- FileCount --> `VInt`
- DataOffset,DataLength,Checksum --> `UInt64`
- FileName --> `String`
- FileData --> raw file data
- Footer --> `CodecFooter`

Notes:

- FileCount indicates how many files are contained in this compound file. The entry table that follows has that many entries.
- Each directory entry contains a long pointer to the start of this file's data section, the files length, and a String with that file's name. The start of file's data section is aligned to 8 bytes to not introduce additional unaligned accesses with mmap.

## Constructor Summary

Constructors
Constructor
Description
`Lucene90CompoundFormat()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`CompoundDirectory`
`getCompoundReader(Directory dir, SegmentInfo si, IOContext context)`
Returns a Directory view (read-only) for the compound files in this segment
`void`
`write(Directory dir, SegmentInfo si, IOContext context)`
Packs the provided segment's files into a compound format.

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

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

## Constructor Details

### Lucene90CompoundFormat

public Lucene90CompoundFormat()
Sole constructor.

## Method Details

### getCompoundReader

public CompoundDirectory getCompoundReader(Directory dir, SegmentInfo si, IOContext context) throws IOException
Description copied from class: `CompoundFormat`
Returns a Directory view (read-only) for the compound files in this segment

Specified by:
  `getCompoundReader` in class `CompoundFormat`
Throws:
  `IOException`

### write

public void write(Directory dir, SegmentInfo si, IOContext context) throws IOException
Description copied from class: `CompoundFormat`
Packs the provided segment's files into a compound format. All files referenced by the provided `SegmentInfo` must have `CodecUtil.writeIndexHeader(org.apache.lucene.store.DataOutput, java.lang.String, int, byte[], java.lang.String)` and `CodecUtil.writeFooter(org.apache.lucene.store.IndexOutput)`.

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