<!--
  Full-page Markdown export (rendered HTML → GFM).
  Source: https://neotoma.io/ru/semantic-similarity-search
  Generated: 2026-04-28T13:36:04.229Z
-->
# Semantic similarity search

Semantic similarity search finds relevant prior context by meaning rather than exact text match. Retrieval / RAG systems pioneered this by searching over unstructured documents using vector embeddings. Neotoma applies the same technique to structured entity snapshots, scoped by entity type and structural filters.

## How it works

When an agent or user queries Neotoma, the system embeds the query and compares it against entity snapshots. Because entities are structured and typed, search can be narrowed by entity type, time range, or relationship before similarity ranking is applied.

\# Search by meaning across all entities
neotoma entities search --query "upcoming meetings with the design team"

# Narrow by entity type
neotoma entities search --query "design review" --entity-type event

◆

## Structured vs unstructured

Pure retrieval systems search over raw documents and rely on the model to extract relevant facts from returned chunks. Neotoma searches over snapshots that already conform to [schema constraints](/schema-constraints), so results are typed and immediately usable. This combines the flexibility of semantic search with the reliability of [deterministic state evolution](/deterministic-state-evolution).

See [memory models](/memory-models) for a full comparison, and the [MCP reference](/mcp) for retrieval actions.