Skip to content
Vector Search

Vector search that finds meaning, not just keywords

We design, build and tune semantic and hybrid search on pgvector, Milvus, Pinecone, Qdrant or Weaviate, and prove the gain on your own queries before it goes live.

  • Hybrid search with reranking
  • Milvus and pgvector in our own production
  • Evaluated on your queries, not a demo set
Embeddings as points in space: a query lands near related documents and its nearest neighbours are returned; hybrid scoring adds keyword matching so an exact product code can outrank a merely similar paragraph Embedding space each point is one chunk of content shipping times API docs billing query: “refund for SKU 4471” nearest neighbours refunds & returns Hybrid scoring Doc A · “Return window policy” Doc B · “SKU 4471 refund steps” Vector similarity 0.84 0.63 Keyword match (BM25) low high Fused rank (RRF) #2 #1 The exact code wins once keyword evidence is fused in.
Left: content becomes points, the query is embedded the same way and its nearest neighbours are returned. Right: hybrid search fuses keyword scores so an exact code outranks a merely similar paragraph.
What it is

Search by what people mean

Keyword search matches strings. Vector search matches meaning, so “can I send it back?” finds the returns policy even though no word overlaps.

An embedding model turns each piece of content into a vector, a long list of numbers that encodes its meaning. Similar content ends up near each other. A query is embedded the same way, and the index returns the closest vectors in milliseconds, even across millions of items.

That retrieval layer sits underneath every serious AI knowledge base, but it is useful on its own: site search, product discovery, helpdesk search and internal document search all improve when the engine understands paraphrase.

The craft is in the details: which model, how to split content, when to combine with keywords, which database, and how to prove the result on your own queries. Those are the pages in this section.

  • 1. Embed

    Content is chunked and converted to vectors with a model chosen for your language, domain and budget.

  • 2. Index

    Vectors plus metadata go into an approximate nearest-neighbour index (HNSW, IVF or similar) in the store that fits your stack.

  • 3. Query

    The question is embedded, filtered by metadata or permissions, and the nearest candidates are returned, often fused with a keyword search.

  • 4. Rerank

    A cross-encoder re-scores the top candidates against the query so the best few reach the user or the LLM.

Compare

Keyword, semantic or hybrid?

Each approach has a failure mode. Hybrid search exists because production queries contain both natural language and exact tokens, often in the same sentence.

CriterionKeyword (BM25)Semantic (vectors)Hybrid + rerank
Synonyms and paraphraseMisses unless words matchStrongStrong
Exact codes, SKUs, names, error stringsExactUnreliableExact, via keyword leg
TyposNeeds fuzzy matchingPartly tolerantGood with fuzzy keyword leg
Multilingual queriesPer-language setupMultilingual models handle itYes
Explaining why a result matchedHighlighted termsOpaque similarity scoreTerms plus score
InfrastructureAny search engine or PostgresEmbedding model + vector indexBoth, plus a fusion step
Best fitCatalogue codes, logs, legal exact phrasesHelp content, FAQs, long-form textMost production systems

Deeper treatment on semantic search and hybrid search; definitions in the glossary under hybrid search and reranking.

Beyond chat

Where vector search earns its keep outside a chatbot

Nearest-neighbour search is a general tool. Once embeddings exist, several other problems become cheap.

Recommendations

“People who read this also read” from content similarity alone, no click history required on day one.

Recommendation engine

Deduplication

Find near-duplicate tickets, articles or records that differ in wording but not in substance, before they pollute a knowledge base.

Clean up a knowledge base

Classification and routing

Label incoming emails, tickets or documents by their nearest labelled examples, cheaper and more adjustable than a trained classifier.

Document processing

Anomaly detection

Transactions or events far from every known cluster are worth a second look. Distance is the signal.

Fraud and anomaly detection
How we work

A search engagement, start to finish

A retrieval pilot usually takes three to five weeks. Adding hybrid search, reranking and a production index to an existing system takes two to six more, depending on data volume.

  1. Collect real queries

    We pull 100 to 300 actual searches or questions and label the documents that should answer each. This set is the yardstick for everything that follows.

  2. Baseline

    Measure your current search (or a plain keyword index) on recall@k and MRR, so the improvement is a number, not an impression.

  3. Design

    Pick the embedding model and chunking, decide on hybrid fusion and reranking, and choose the vector database for your scale and hosting constraints.

  4. Build and tune

    Ingestion pipeline, index, query service with filters, and a tuning loop on the test set. Latency and cost are tracked alongside quality.

  5. Ship and monitor

    Go-live with dashboards for query latency, zero-result rate and click-through, plus a re-embedding plan for when content or models change.

FAQ

Frequently asked questions

What is vector search in plain terms?

Text, images or records are converted into lists of numbers called embeddings, which place similar things close together in a mathematical space. A search embeds the query the same way and returns the nearest neighbours. The result is search by meaning rather than by exact words. See our glossary entry on embeddings.

Do we need a dedicated vector database?

Not always. If you already run PostgreSQL and expect fewer than a few million vectors, pgvector is usually the right start. Dedicated engines earn their place at larger scale, with heavy filtering, multi-tenancy or when you want a fully managed service. The vector database chooser gives a ranked recommendation from eight questions.

Is semantic search better than keyword search?

It is better at paraphrase, synonyms and natural-language questions, and worse at exact codes, names and rare terms. Most production systems use hybrid search, which runs both and fuses the results. Our hybrid search page explains the fusion step in plain words.

How do you measure whether search quality improved?

With a labelled test set of 100 to 300 real queries and the documents that should come back for each. We track recall at k and mean reciprocal rank on every change, so a new embedding model or chunking rule has to prove itself. The method is the same one we use for LLM evals.

Which vector databases do you work with?

PostgreSQL with pgvector, Milvus, Pinecone, Qdrant and Weaviate. We run Milvus and pgvector in our own production systems and have implemented the others for clients. Our selection guide compares them qualitatively, without vendor benchmarks.

Ready to make AI work in production?

Tell us about your systems, your data and your constraints. We reply within one business day with a straight answer and a suggested next step.