CatgirlIntelligenceAgency/code/functions/index/index-journal/readme.md
2024-02-22 17:31:25 +01:00

24 lines
1.2 KiB
Markdown

# Index Journal
The index journal contains a list of entries with keywords and keyword metadata per document.
This journal is written by [processes/loading-process](../../processes/loading-process) and read
when constructing the [forward](../index-forward) and [reverse](../index-reverse)
indices.
The journal format is a file header, followed by a zstd-compressed list of entries,
each containing a header with document-level data, and a data section
with keyword-level data.
The journal data may be split into multiple files, and the journal writers and readers
are designed to handle this transparently via their *Paging* implementation.
## Central Classes
### Model
* [IndexJournalEntry](src/main/java/nu/marginalia/index/journal/model/IndexJournalEntry.java)
* [IndexJournalEntryHeader](src/main/java/nu/marginalia/index/journal/model/IndexJournalEntryHeader.java)
* [IndexJournalEntryData](src/main/java/nu/marginalia/index/journal/model/IndexJournalEntryData.java)
### I/O
* [IndexJournalReader](src/main/java/nu/marginalia/index/journal/reader/IndexJournalReader.java)
* [IndexJournalWriter](src/main/java/nu/marginalia/index/journal/writer/IndexJournalWriter.java)