CatgirlIntelligenceAgency/code/features-index/index-journal/readme.md

24 lines
1.2 KiB
Markdown
Raw Normal View History

2023-03-06 18:32:13 +01:00
# 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
2023-03-06 18:32:13 +01:00
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.
2023-03-06 18:32:13 +01:00
## 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)
2023-03-06 18:32:13 +01:00
### I/O
* [IndexJournalReader](src/main/java/nu/marginalia/index/journal/reader/IndexJournalReader.java)
* [IndexJournalWriter](src/main/java/nu/marginalia/index/journal/writer/IndexJournalWriter.java)