Lucene90CompoundFormat (Lucene 10.5.1 core API)
Description: declaration: package: org.apache.lucene.codecs.lucene90, class: Lucene90CompoundFormat

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 64 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)`
  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) 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`