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.
How it works
Section titled “How it works”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. searchingVertragfindsVerträge. Results are ranked withts_rank(best of the two languages), and the matching snippet is highlighted withts_headlinein the language that matched. - Fuzzy matching: the
pg_trgmextension adds trigramword_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.
Permission-aware
Section titled “Permission-aware”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.
| Searched | Notes |
|---|---|
| Document titles | Indexed as full text; exact matches boosted |
| Document body | Indexed as full text (tsvector) |
| Archived / trashed | Excluded by default |
Filters
Section titled “Filters”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.