Semantic search

Semantic search retrieves records by meaning, where full-text search matches the words they contain. Fóir generates the embeddings for each model you opt in, and you query them with text, with a record or with a vector of your own.

Opting a model in

Switch on the Embeddings capability for a model and it takes effect when the model is published. The model's text and prose fields are embedded by default, and each field has an embed setting, so an identifier such as a slug can be left out.

When records are embedded

After a record is written, embedding runs in the background 30 seconds later, and a burst of edits collapses into one job. Unchanged content is skipped at no cost. On a model with publishing or versioning only published content is embedded, so a draft cannot match.

Credits and existing records

Embedding spends AI credits. Switching the capability on does not embed the records a model already has. That is a separate, priced backfill, where you get an estimate first and then confirm, and it is run over MCP or the API.

Queries and your own vectors

searchEmbeddings takes a text query, which Fóir embeds on the server, or a vector. findSimilarRecords returns records like the one you name, for "more like this". If you compute vectors elsewhere, writeEmbeddings stores them. Agents reach the same retrieval through an MCP tool.

What a caller can find

Results are confined to what the caller would be served: records they can read, in their locale, in the variant targeted at them. Embeddings follow the content as it was authored, so a locale with no translation of its own has no separate embedding.

Read the detail

The AI search guide covers switching the capability on, choosing which fields are embedded, the backfill and querying from an agent.