Vector Search

Process retrieval published

Also known as: Semantic Search, Similarity Search, Nearest Neighbor Search, ANN Search

Definition

Finding items similar to a query by comparing their vector representations (embeddings) in a high-dimensional space. Unlike keyword search which matches exact terms, vector search captures semantic similarity—queries and documents with similar meanings have similar vectors, even without shared words. This enables "meaning-based" retrieval.

What this is NOT

  • Not keyword search (vector search doesn't require exact word matches)
  • Not the embeddings themselves (vector search is the retrieval process)
  • Not always better than keyword search (sparse retrieval wins for exact matches)

Alternative Interpretations

Different communities use this term differently:

llm-practitioners

Using embedding models to convert text to vectors, storing them in a vector database, and retrieving documents whose vectors are closest to the query vector (typically by cosine similarity or dot product).

Sources: Pinecone documentation, Weaviate, Qdrant, Chroma documentation, OpenAI embeddings guide

information-retrieval

Approximate nearest neighbor (ANN) search in high-dimensional spaces, using algorithms like HNSW, IVF, or product quantization to make search tractable at scale.

Sources: HNSW paper (Malkov & Yashunin, 2018), Faiss documentation

Examples

  • Searching a documentation site by meaning rather than keywords
  • Finding similar products based on description embeddings
  • Retrieving relevant code snippets from a codebase
  • Querying a vector database like Pinecone or Weaviate

Counterexamples

Things that might seem like Vector Search but are not:

  • Full-text search matching exact keywords (that's keyword/BM25 search)
  • SQL queries with WHERE clauses
  • Regular expression matching

Relations

Implementations

Tools and frameworks that implement this concept: