MarginaliaSearch/code/index/index-journal
Viktor Lofgren d023e399d2 (index) Remove unnecessary allocations in journal reader
The term data iterator is quite hot and was performing buffer slice operations that were not necessary.

Replacing with a fixed pointer alias that can be repositioned to the relevant data.

The positions data was also being wrapped in a GammaCodedSequence only to be immediately un-wrapped.

Removed this unnecessary step and move to copying the buffer directly instead.
2024-07-04 15:38:22 +02:00
..
java/nu/marginalia/index/journal (index) Remove unnecessary allocations in journal reader 2024-07-04 15:38:22 +02:00
test/nu/marginalia/index/journal (journal) Fixing journal encoding 2024-06-24 13:56:27 +02:00
build.gradle (index, WIP) Position data partially integrated with forward and reverse indexes. 2024-06-06 12:54:52 +02:00
readme.md (docs) Begin un-fucking the docs after refactoring 2024-02-27 21:22:21 +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 and read when constructing the forward and 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

I/O