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
vectors + text
vector ok bm25 ok meta: A-17, 2026-10-12
Fictional sample · not a client system