✓Direct Answer

Oyma powers instant search using an embedded SQLite FTS5 full-text index with BM25 algorithmic relevance ranking. Queries execute in sub-10 milliseconds across vaults containing tens of thousands of notes.

The Necessity of Instantaneous Retrieval

As a personal vault expands over months and years to encompass thousands of daily notes, research papers, and meeting transcripts, retrieval speed becomes the single deciding factor in productivity. If searching causes the interface to freeze or takes seconds to return results, users stop relying on their notes.

Oyma is engineered to deliver sub-10 millisecond full-text search across massive vaults.

The SQLite FTS5 Indexing Architecture

Unlike web-based tools that send search queries to remote Elasticsearch or Algolia clusters over high-latency networks, Oyma runs an embedded SQLite instance directly within the local macOS application process:

  • FTS5 (Full-Text Search 5): Tokenizes text into inverted index B-trees using the Porter stemming algorithm.
  • BM25 Relevance Scoring: Ranks search results using the industry-standard Okapi BM25 probabilistic scoring model, giving higher weight to title matches and keyword density.
  • Prefix & Wildcard Matching: Search queries match prefixes instantly as you type each keystroke.
  • Zero Network Latency: Queries execute directly against local Mac NVMe storage in RAM cache.
[Keystroke: "architecture review"]
               |
               v (<2ms)
    [Local SQLite FTS5 Table]
               |
               v (<4ms)
       [BM25 Scoring Pass]
               |
               v (<1ms)
 [Render Instant Results Palette]

Advanced Search Syntax

Oyma‘s Quick Open palette (⌘O or ⌘⇧F) supports powerful query operators:

  • Phrase Search: "zero telemetry" matches exact contiguous word strings.
  • Boolean Operators: privacy AND NOT cloud finds notes mentioning privacy without cloud.
  • Tag Filtering: tag:#security or #architecture scopes results to specific categories.
  • Folder Scoping: path:"02 Meetings" restricts queries to designated folders.
  • Property Filtering: author:"Elena" filters YAML frontmatter metadata.

Tokenization, Stemming, and Query Performance

The embedded SQLite FTS5 engine uses advanced natural language processing techniques to deliver instantaneous search:

  • Porter Stemmer Engine: Searching for “recording” matches “record”, “recorded”, and “records” automatically across your notes.
  • Unicode Case Folding: Search queries match uppercase, lowercase, and accented characters seamlessly without manual regex queries.
  • Index Generation in Background: When you add or modify notes, Oyma updates the FTS5 search index asynchronously in background threads, ensuring typing responsiveness is never compromised.
  • Memory Footprint: The entire FTS5 search index consumes less than 50 MB of memory for vaults containing over 10,000 documents, maintaining lightweight system performance.

Sub-10 Millisecond Vault Traversal and Ranking

The SQLite FTS5 inverted index utilizes BM25 probabilistic ranking to ensure that title matches and keyword frequencies appear at the very top of your search results. Queries execute in less than 10 milliseconds across vaults containing tens of thousands of notes.

The search engine also supports advanced Boolean queries (NOT, OR, AND) as well as column-specific filters like title:strategy or tag:architecture, allowing you to pinpoint exact notes within seconds regardless of vault size.