{% extends "base.html" %} {% block content %}
Archivum is a personal document and reference management system designed for high-performance indexing and retrieval of academic papers, books, and technical documents.
Unlike traditional managers, Archivum prioritizes identity over location. Documents are tracked by their cryptographic content hash, ensuring that your library remains intact even if files are moved, renamed, or synced across different devices.
The library is built on a three-tier database structure stored as high-performance .feather files:
Bibliographic Metadata
Tags, authors, titles, journals, and years. Synchronized with an external BibTeX file.
Physical Files
Path, size, creation date, and content hash. Managed in a sharded directory structure.
Junction Table
The bridge that links high-level tags to physical content hashes.
Read History
Tracks timestamps, view counts, and origin URLs (referrers) for every document opened.
Embedding Cache
Stores high-dimensional vectors for papers, enabling instant re-analysis and galaxy mapping without re-encoding.
When documents are imported, Archivum automatically extracts their text content. This text is sharded into a separate directory, enabling blazing-fast full-text searches across thousands of documents using the integrated Ripgrep engine.
The primary search bar on the Query page is powered by querexfuzz. A small live status line below the input shows the exact expression that will be run.
For quick lookups, plain text becomes a fuzzy # search. Explicit querexfuzz syntax is limited to the 50 most recent published matches by default.
| Syntax | Description |
|---|---|
keyword |
Runs as # keyword for fast fuzzy matching. |
!AuthorName |
Runs as recent top 50 !AuthorName. |
field ~ pattern |
Runs as recent top 50 field ~ pattern. |
year > 2020 |
Runs as recent top 50 year > 2020. |
q top 20 recent |
Runs exactly as top 20 recent. |
Querex symbols are #, ~, =, <, >, and !. Use q when you do not want automatic recent top 50 wrapping.
q)Prefix your query with q to pass an expression through unchanged.
# for fast skimmatch fuzzy matching. q # machine learningselect col1, col2.order by field or order by -field for descending.top 50 to restrict result size.For the complete grammar, visit the Querexfuzz Project.
Archivum stores bibliographic metadata in a deliberately narrow BibTeX-compatible shape. Keeping entry types and fields normalized makes imports safer, keeps Feather tables predictable, and reduces BibTeX synchronization noise.
Use one of these types for new or edited records:
Restrict BibTeX fields to the following set unless a specific import requires a temporary exception:
@ in editable metadata, for example article rather than @article.and between names. Prefer canonical names that match the library's author normalization.year as a four-digit year when known. Use month only when it is bibliographically meaningful.The default landing page for searching your library.
file fields when a matched document path is available.Advanced visualization modes for exploring connections and thematic clusters.
Maps the "Social Network" of your library. Nodes represent authors, and edges represent papers they have co-authored.
rg are case insensitive by default, matching the Ripgrep page behavior. Use Options → Case sensitive rg when exact case matters.q querex universe, an rg full-text universe, or a combined q ... rg ... universe.Uses Machine Learning to project your papers into a 2D "Galaxy" where distance represents semantic similarity.
all-MiniLM-L6-v2 transformer model.rg clause is used, it also shows the ripgrep command and cache hit/miss.Search inside the actual text of your PDF collection.
A specialized workflow for synthesizing research findings into persistent journals.
scrartcl styling (A4, 10pt font).exports/ directory. If a report is viewed or downloaded again, Archivum serves the cached version instantly unless the source .qmd file has been modified..qmd file for manual editing or custom publication workflows.Import new documents or BibTeX entries into the library.
A high-density interface for bulk metadata management.
Ctrl+S or the Save button.Most search fields in Archivum support standard regular expressions. Here are common patterns:
| Symbol | Meaning | Example |
|---|---|---|
. |
Any single character | n.t.re matches Nature |
^ |
Start of string | ^Smith matches Smith but not Goldsmith |
$ |
End of string | 2023$ matches only tags ending in 2023 |
* |
Zero or more of previous | ba*n matches bn, ban, baan |
+ |
One or more of previous | ba+n matches ban, baan, etc. |
? |
Zero or one of previous (optional) | cats? matches cat or cats |
| |
Logical OR | Nature|Science matches either journal |
\d |
Any digit | \d{4} matches a 4-digit year |
\w |
Any word character (alnum + underscore) | \w+ matches a whole word |
\s |
Any whitespace (space, tab) | Wang\s+R matches "Wang, R" if space exists |
[ ] |
Character class / set | [aeiou] matches any vowel |
( ) |
Capturing group | (Auto|Machine) groups for priority or repetition |