diff --git a/docs/format/index.md b/docs/format/index.md index 18600c835..1ec3c21b4 100644 --- a/docs/format/index.md +++ b/docs/format/index.md @@ -85,34 +85,40 @@ After the labels, the number of indexed chunks is encoded, followed by a sequenc `mint` of the first chunk is stored, it's `maxt` is stored as a delta and the `mint` and `maxt` are encoded as deltas to the previous time for subsequent chunks. Similarly, the reference of the first chunk is stored and the next ref is stored as a delta to the previous one. ``` -┌─────────────────────────────────────────────────────────────────────────┐ -│ len │ -├─────────────────────────────────────────────────────────────────────────┤ -│ ┌──────────────────┬──────────────────────────────────────────────────┐ │ -│ │ │ ┌──────────────────────────────────────────┐ │ │ -│ │ │ │ ref(l_i.name) │ │ │ -│ │ #labels │ ├──────────────────────────────────────────┤ ... │ │ -│ │ │ │ ref(l_i.value) │ │ │ -│ │ │ └──────────────────────────────────────────┘ │ │ -│ ├──────────────────┼──────────────────────────────────────────────────┤ │ -│ │ │ ┌──────────────────────────────────────────┐ │ │ -│ │ │ │ c_0.mint │ │ │ -│ │ │ ├──────────────────────────────────────────┤ │ │ -│ │ │ │ c_0.maxt - c_0.mint │ │ │ -│ │ │ ├──────────────────────────────────────────┤ │ │ -│ │ │ │ ref(c_0.data) │ │ │ -│ │ #chunks │ └──────────────────────────────────────────┘ │ │ -│ │ │ ┌──────────────────────────────────────────┐ │ │ -│ │ │ │ c_i.mint - c_i-1.maxt │ │ │ -│ │ │ ├──────────────────────────────────────────┤ │ │ -│ │ │ │ c_i.maxt - c_i.mint │ │ │ -│ │ │ ├──────────────────────────────────────────┤ ... │ │ -│ │ │ │ ref(c_i.data) - ref(c_i-1.data) │ │ │ -│ │ │ └──────────────────────────────────────────┘ │ │ -│ └──────────────────┴──────────────────────────────────────────────────┘ │ -├─────────────────────────────────────────────────────────────────────────┤ -│ CRC32 <4b> │ -└─────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────┐ +│ len │ +├──────────────────────────────────────────────────────────────────────────┤ +│ ┌──────────────────────────────────────────────────────────────────────┐ │ +│ │ labels count │ │ +│ ├──────────────────────────────────────────────────────────────────────┤ │ +│ │ ┌────────────────────────────────────────────┐ │ │ +│ │ │ ref(l_i.name) │ │ │ +│ │ ├────────────────────────────────────────────┤ │ │ +│ │ │ ref(l_i.value) │ │ │ +│ │ └────────────────────────────────────────────┘ │ │ +│ │ ... │ │ +│ ├──────────────────────────────────────────────────────────────────────┤ │ +│ │ chunks count │ │ +│ ├──────────────────────────────────────────────────────────────────────┤ │ +│ │ ┌────────────────────────────────────────────┐ │ │ +│ │ │ c_0.mint │ │ │ +│ │ ├────────────────────────────────────────────┤ │ │ +│ │ │ c_0.maxt - c_0.mint │ │ │ +│ │ ├────────────────────────────────────────────┤ │ │ +│ │ │ ref(c_0.data) │ │ │ +│ │ └────────────────────────────────────────────┘ │ │ +│ │ ┌────────────────────────────────────────────┐ │ │ +│ │ │ c_i.mint - c_i-1.maxt │ │ │ +│ │ ├────────────────────────────────────────────┤ │ │ +│ │ │ c_i.maxt - c_i.mint │ │ │ +│ │ ├────────────────────────────────────────────┤ │ │ +│ │ │ ref(c_i.data) - ref(c_i-1.data) │ │ │ +│ │ └────────────────────────────────────────────┘ │ │ +│ │ ... │ │ +│ └──────────────────────────────────────────────────────────────────────┘ │ +├──────────────────────────────────────────────────────────────────────────┤ +│ CRC32 <4b> │ +└──────────────────────────────────────────────────────────────────────────┘ ``` @@ -176,24 +182,24 @@ The sequence of postings sections is finalized by an [offset table](#offset-tabl An offset table stores a sequence of entries that maps a list of strings to an offset. They are used to track label index and postings sections. They are read into memory when an index file is loaded. ``` -┌─────────────────────┬────────────────────┐ -│ len <4b> │ #entries <4b> │ -├─────────────────────┴────────────────────┤ -│ ┌──────────────────────────────────────┐ │ -│ │ n = #strs │ │ -│ ├──────────────────────┬───────────────┤ │ -│ │ len(str_1) │ str_1 │ │ -│ ├──────────────────────┴───────────────┤ │ -│ │ ... │ │ -│ ├──────────────────────┬───────────────┤ │ -│ │ len(str_n) │ str_n │ │ -│ ├──────────────────────┴───────────────┤ │ -│ │ offset │ │ -│ └──────────────────────────────────────┘ │ -│ . . . │ -├──────────────────────────────────────────┤ -│ CRC32 <4b> │ -└──────────────────────────────────────────┘ +┌─────────────────────┬──────────────────────┐ +│ len <4b> │ #entries <4b> │ +├─────────────────────┴──────────────────────┤ +│ ┌────────────────────────────────────────┐ │ +│ │ n = #strs │ │ +│ ├──────────────────────┬─────────────────┤ │ +│ │ len(str_1) │ str_1 │ │ +│ ├──────────────────────┴─────────────────┤ │ +│ │ ... │ │ +│ ├──────────────────────┬─────────────────┤ │ +│ │ len(str_n) │ str_n │ │ +│ ├──────────────────────┴─────────────────┤ │ +│ │ offset │ │ +│ └────────────────────────────────────────┘ │ +│ . . . │ +├────────────────────────────────────────────┤ +│ CRC32 <4b> │ +└────────────────────────────────────────────┘ ```