Skip to main content

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:

  1. An API URL (any OpenAI-compatible embeddings endpoint works: OpenAI, Ollama, a local model server)
  2. A model name (e.g. text-embedding-3-small for OpenAI, nomic-embed-text for Ollama)
  3. An API key (if your endpoint requires one)
  4. The embedding dimensions for your model

Common setups:

ProviderModelDimensions
OpenAItext-embedding-3-small1536
OpenAItext-embedding-ada-0021536
Ollama (local)nomic-embed-text768
Ollama (local)mxbai-embed-large1024

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.

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:

  1. Install Ollama
  2. Run ollama pull nomic-embed-text
  3. In Coeus settings, set the API URL to http://localhost:11434/v1, model to nomic-embed-text, and dimensions to 768

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.