<!-- Full-page Markdown export (rendered HTML → GFM). Source: https://neotoma.io/ur/semantic-similarity-search Generated: 2026-04-28T13:36:04.463Z --> # 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.