What is Semantic Search?
Semantic search retrieves information by understanding the meaning and intent of a query rather than relying on exact keyword matches.
It converts both queries and documents into dense vector embeddings using models like transformers, capturing semantic relationships in a high-dimensional space.
Results are ranked by vector similarity measures such as cosine similarity, allowing matches based on context and synonyms even when wording differs.
This approach often combines embedding generation, approximate nearest-neighbor search, and optional reranking for improved relevance.
Example
A user searching 'best way to cool a room without AC' might receive results about ceiling fans, insulation tips, and cross-ventilation even if those pages never use the exact phrase 'cool a room'.
Why it matters
Semantic search powers modern AI applications like intelligent assistants and recommendation engines by delivering more relevant results and improving user experience at scale.
Frequently asked questions
Keyword search matches exact words or phrases, while semantic search understands meaning and context to find conceptually related results.
Related terms
A vector database is a specialized database designed to store and query high-dimensional vector embeddings, enabling fast similarity searches instead of traditional exact-match queries.
Natural Language Processing (NLP) is a branch of artificial intelligence that enables computers to understand, interpret, and generate human language in useful ways.
Cosine similarity measures how similar two vectors are by computing the cosine of the angle between them, ignoring their magnitudes.
A Transformer is a neural network architecture that processes sequential data like text using self-attention to weigh relationships between all parts of the input at once.
Batch size is the number of training examples processed together in a single forward and backward pass during model training.
Chunking is the process of breaking large datasets, documents, or files into smaller, fixed-size or semantically meaningful segments. It is a common data preprocessing step in AI/ML pipelines to manage memory and enable efficient processing.