Semantic Search
Semantic search lets you find notes by what they mean, not just by the words they contain.
Example: searching for "my thoughts on focus" might find a note you wrote about deep work, even if you never used the word "focus" in it.
Setting it up
Semantic search needs an embedding model. You set this up in Settings → AI Providers → Embeddings.
You need:
- An API URL (any OpenAI-compatible embeddings endpoint works: OpenAI, Ollama, a local model server)
- A model name (e.g.
text-embedding-3-smallfor OpenAI,nomic-embed-textfor Ollama) - An API key (if your endpoint requires one)
- The embedding dimensions for your model
Common setups:
| Provider | Model | Dimensions |
|---|---|---|
| OpenAI | text-embedding-3-small | 1536 |
| OpenAI | text-embedding-ada-002 | 1536 |
| Ollama (local) | nomic-embed-text | 768 |
| Ollama (local) | mxbai-embed-large | 1024 |
Once configured, click Fill Embeddings. Coeus generates an embedding for every note in your folder. This runs in the background and can take a few minutes if you have a lot of notes.
New notes and edited notes get their embeddings updated automatically.
Using semantic search
Semantic search runs automatically when you press Enter in the search bar. You don't need to do anything special: just type a description of what you're looking for and press Enter.
The results are a mix of text matches and semantic matches, combined to give you the best of both.
Running locally
If you don't want to send your notes to an API for embeddings, run Ollama locally:
- Install Ollama
- Run
ollama pull nomic-embed-text - In Coeus settings, set the API URL to
http://localhost:11434/v1, model tonomic-embed-text, and dimensions to768
Your notes stay on your machine.
What if I skip this?
You don't need semantic search. Text search works well. The main thing you miss is the ability to find notes by loose descriptions. If your notes are well-titled, text search is often enough.