docs/internals/split-format.md
Quickwit's index are divided into small independent immutable piece of index called split.
For convenience, a split consists in a single file, with the extension .split.
In reality, this file hides an internal mini static filesystem, with:
.idx, .pos, .term...)The split file data layout looks like this:
The footer follows the following format.
BundleStorageFileOffsets containing the [start, end) byte-offsets
of all files.This footer plays a key role a very important role in quickwit. It packs in one read all of the information required to open a split.
When opening a file from a distant storage, Quickwit's metastore stores the byte offsets of this footer to make this read possible.
If this footer offset information is not available, for instance if the split is just a file on the filesystem, it is still possible to open it by reading the last 8 bytes of the split (encoding the length of the hotcache), deducing the position of the meta information and unpacking this in turn.