Step 09 / 20 · Process · vector · BM25

Hybrid index

Vectors for meaning, BM25 for exact terms.

For business

What it is

Two kinds of search side by side: one for meaning, one for exact words such as product names and reference numbers.

Why it matters

Meaning-only search misses exact terms and keyword-only search misses paraphrases. Together they find the right passage far more reliably.

Risk without it

A question about a specific policy number returns something “similar”, and wrong.

For engineers

How it works

Vectors go into an approximate-nearest-neighbour index and the same text into a BM25 keyword index. Queries hit both and the results are merged, for example with reciprocal rank fusion. Metadata filters (client, date, document type) apply to both.

Typical stack

  • OpenSearch k-NN + BM25
  • Postgres pgvector + full-text
  • Pinecone / Weaviate hybrid

Pitfalls & trade-offs

  • Filter before ranking, or results leak across clients.
  • Tune fusion weights on real queries.
  • Vector indexes are memory-hungry, so plan capacity.

In this example

In
vectors + text
Out
vector  ok
bm25    ok
meta: A-17, 2026-10-12

Fictional sample · not a client system

Contact

Questions about this?

Book a call Write to hello@paxcode.it