How Search Works
When you press Enter in the search bar, Coeus runs both text search and semantic search, then merges the results.
Text search (FTS)
The full-text search index uses SQLite's FTS5 engine with a porter stemmer. It matches documents based on word frequency and relevance, similar to how a basic web search works.
Good at: finding notes where you know the exact word or phrase.
Bad at: finding notes where you used different words to describe the same idea.
Semantic search (vector)
Semantic search converts your query into a vector (a list of numbers that represents its meaning) and finds notes whose vectors are close to it. Notes that are about the same thing score high, even if they don't share words.
Good at: finding notes by concept, topic, or loose description.
Requires: an embedding model configured in Settings.
How they're combined
Coeus uses Reciprocal Rank Fusion (RRF) to merge the two result sets. Here's the short version: each result gets a score based on where it ranked in each individual search, and those scores are added together. Results that rank high in both searches end up at the top.
This means a note that's a good text match AND a good semantic match will beat one that's only good at one of them.
Live search vs. Enter search
Live search (as you type, after 2 characters): text search only. Fast, good for quick note lookups.
Enter search: both text and semantic search combined. Better for finding things by topic.
Search across attachments
Both search modes also cover extracted text from imported files: PDFs, text documents, transcripts. A note and its attached files are treated as one searchable unit.