Skip to content

Search

Orimora provides fast full-text search across your team’s documents — titles and body content — from the /search page and the search box in the top bar.

Search runs entirely inside PostgreSQL — there is no external search engine. Two mechanisms work together:

  • Full-text search (the backbone): title and body are indexed as both an English and a German tsvector (two GIN indexes) and matched against both, so content is found in either language with proper stemming and stop-word handling — e.g. searching Vertrag finds Verträge. Results are ranked with ts_rank (best of the two languages), and the matching snippet is highlighted with ts_headline in the language that matched.
  • Fuzzy matching: the pg_trgm extension adds trigram word_similarity, so partial words and minor misspellings still find results; an exact title match is boosted on top.

Results deep-link straight to the document.

Results respect your access: documents in restricted collections you cannot read, and documents excluded by tag ACLs, do not appear in your results. An API key with a restricted access map is likewise bounded to what it may read.

SearchedNotes
Document titlesIndexed as full text; exact matches boosted
Document bodyIndexed as full text (tsvector)
Archived / trashedExcluded by default

The /search page has a filter panel (the funnel icon) to narrow results by collection, status (published / draft), and tags — on top of (or instead of) the text query. Active filters show as removable chips.

Tag filtering is multi-tag with AND semantics: add several tags and only documents carrying all of them match. Pick a tag in the panel to add it; remove one by clicking its chip. In the URL this is repeated ?tag=a&tag=b parameters, so a filtered view is shareable and bookmarkable.