Documents & Data
Semantic Search
Search for Meaning, Not for Letters
Classic full-text search finds words. Semantic search finds meaning. Search for “summer visitor numbers” and you'll also find the document that talks about “cinema attendance during the holiday season.” To make that work, documents get broken into passages and stored as embeddings — mathematical representations of their meaning that can be searched by similarity.
Our approach is deliberately hybrid: we combine meaning-based search with classic full-text ranking, because each has its strengths — full text nails exact terms, names, and figures; embeddings catch paraphrases and related concepts. The results merge into a single ranked list that does both.
And we're pragmatic about the infrastructure: a dedicated vector database only becomes necessary once the data volume justifies it. For most corporate document sets — thousands of documents, not billions — similarity search runs perfectly well inside the database your application already uses. Fewer systems, lower running costs, and the option to move to a specialized vector store stays open at any time — with Symfony AI, the storage layer is swappable.
Semantic search is rarely an end in itself: it's the foundation for chat assistants that answer questions from your documents (retrieval-augmented generation), and it's also available as a tool to AI clients over MCP. That way, the same search index serves both the person in the portal and the AI assistant working in the background.
What semantic search means for your project
Results that were actually meant
Users phrase questions in their own words, not your document's vocabulary. Semantic search closes that gap — while the hybrid full-text component keeps names and figures exact.
Boring infrastructure
No extra search system, no new operational risk: for typical corporate document sets, your existing database is enough — we only add specialized infrastructure once your data volume actually demands it.
One index, many users
The same search serves the portal, the chat assistant, and external AI clients over MCP. Index once, available everywhere — with the same permissions.
Highlights
- Finds meaning, not just words — paraphrases included
- Hybrid: embedding similarity combined with full-text ranking
- Runs on your existing database — a vector DB only when you need one
- Foundation for RAG assistants and MCP connections
- Swappable storage layer via Symfony AI