Card 32 of 38· Domain 5 · Information extraction

Retrieval modes — keyword, vector, hybrid, semantic

Picking the mode from the requirement, why fused scores are small by design, and the distinction that decides it — vector retrieves, the semantic ranker reorders.

Retrieval modes — keyword, vector, hybrid, semantic
Open the card in a new tab to read it at full size.

Four ways to retrieve, and questions here describe what the search must achieve rather than naming the mode. The final distinction on this card is the one most worth getting right.

Picking the mode from the requirement

What the requirement asks for The mode How it works
Match exact terms, names, codes Keyword, using BM25 Classic lexical search
Match meaning or similarity Vector Embeddings. Scores run 0.333 to 1.0
Best recall — catch both Hybrid Runs keyword and vector in parallel, fused
Precision re-rank on top of results Semantic ranker A second-stage re-rank over the top 50

The first two are genuinely different tools. Keyword search finds the string you typed. Vector search finds things that mean something similar. A product code is a keyword problem; "documents about cancelling a subscription" is a vector problem.

How hybrid fuses the two

Hybrid uses Reciprocal Rank Fusion. Each result gets a score of 1 divided by (its rank plus a constant k), where k is about 60, and the scores from both searches are added together.

It is used for hybrid and for multi-vector queries.

One consequence worth knowing so you do not chase it as a bug: fusion produces a small @search.score by design. Because every score is a reciprocal of a rank, the numbers are inherently small. A hybrid search returning scores of 0.03 is working correctly.

Vector index algorithms

  • HNSW — approximate nearest neighbour. Fast, and the default.
  • Exhaustive KNN — brute force. 100% recall, and slow.

The trade is the usual one. Approximate search is fast and occasionally misses something; exhaustive search finds everything and costs more. Choose exhaustive when a miss is unacceptable and the corpus is small enough to afford it.

The scores you may be shown

  • @search.score — either BM25 or the fused score.
  • @search.rerankerScore — 0 to 4, and only present when the semantic ranker ran.
  • Vector similarity — 0.333 to 1.0.

Three different scales, so read which field you are looking at before interpreting the number.

Integrated vectorization

A text split skill, an embedding skill, and a query-time vectorizer.

The rule that matters: the same embedding model must be used at index time and at query time. Embeddings from different models are not comparable — the numbers occupy different spaces. Mismatch them and search silently returns poor results rather than failing, which puts it alongside the other quiet failures in this guide.

Multimodal retrieval

  • Image verbalization — a model describes each image in words.
  • Plus text vectorization, plus exporting the images to storage.
  • Surfaced to a Foundry agent as a knowledge base, through MCP.
  • Authentication via managed identity.

The trap

Semantic ranking is not vector search.

The semantic ranker is a second-stage re-rank applied on top of results you already have. It does not find anything new; it reorders what was found.

So: if a question wants meaning-based retrieval, the answer is vector. If it wants better ordering of results you already have, the answer is the semantic ranker. Both involve understanding meaning, which is why they are confusable — but one is a search and the other is a sort.