BM25 vs Embeddings vs Rerankers: Search Stack in 2026

Automatische vertaling Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.

Een goede search stack werkt als een trechter. Goedkope methoden verzamelen eerst een brede candidate set; duurdere methoden verfijnen later een veel kleinere set. Problemen ontstaan vaak wanneer teams exact-text search vervangen door embeddings, in plaats van beide te combineren.

Begin met filters en BM25, een sterke methode voor exact-text ranking. Voeg dense retrieval toe om semantic matches te vinden en voeg beide result lists samen met Reciprocal Rank Fusion (RRF) of een vergelijkbare methode. Rerank de shortlist met een cross-encoder. Gebruik een LLM alleen voor een zeer kleine laatste set waarin de kwaliteitswinst de extra latency en kosten rechtvaardigt.

Laatst beoordeeld: 2026-08-10. De stack wordt gerangschikt op recall, ranking gain, policy correctness, p95 latency en kosten op echte query slices — niet op basis van één universeel aantal candidates.

Aanbevolen stack

StageDefaultTaak
FilteringStructured filtersHandhaaf tenant, permissions, product, taal, tijd en beschikbaarheid.
Lexical retrievalBM25Exacte namen, ID’s, error codes, juridische termen en tokens met hoge precisie.
Dense retrievalEmbeddingsSynoniemen, paraphrases, fuzzy intent en semantic recall.
FusionReciprocal Rank Fusion of weighted retriever compositionCombineer sparse en dense candidates zonder te doen alsof de scores vergelijkbaar zijn.
RerankingCross-encoderRangschik een door latency begrensde shortlist opnieuw op basis van query-document interaction.
Final precisionLLM reranker of answer modelLos genuanceerde relevance pas op wanneer de lijst klein is.
EvaluationRecall@k, nDCG, MRR, click labels, human labelsToon aan dat elke stage de vorige verbetert.

Defaults per use case

Product surfaceGoede defaultWaarom
Documentation searchBM25 plus embeddings plus cross-encoderExacte API-namen en semantic questions zijn beide belangrijk.
RAG retrievalHybrid retrieval plus reranker plus citation checksOntbrekend bewijs is meestal erger dan trage generation.
Product searchLexical filters plus hybrid retrieval plus business featuresAvailability, prijs, populariteit en exacte facets zijn belangrijk.
Support searchHybrid retrieval plus freshness en ticket metadataVergelijkbare formuleringen en actuele policy zijn beide belangrijk.
Internal knowledge baseBM25-baseline, daarna dense retrieval uit query logsBegin meetbaar voordat je modelkosten toevoegt.
Legal of compliance searchLexical baseline plus strict filters, daarna zorgvuldige semantic expansionFalse positives en false negatives zijn beide kostbaar.

Waarom BM25 nog steeds in de stack hoort

Embeddings vinden tekst met een vergelijkbare betekenis, maar vervangen exact matching niet betrouwbaar. Error codes, functienamen, product-SKU’s, juridische formuleringen en persoonsnamen dragen hun intent vaak via hun exacte spelling. BM25 blijft een sterke baseline omdat het termen beloont die de gebruiker daadwerkelijk heeft ingevoerd.

Dense retrieval verhoogt recall wanneer gebruikers de exacte vocabulary niet kennen. De keuze is niet BM25 óf embeddings. Gebruik BM25 voor lexical recall, embeddings voor semantic recall en fusion om beide te combineren.

Wanneer je een reranker toevoegt

Voeg een cross-encoder toe wanneer relevante documenten wel in de candidate set terechtkomen, maar te laag ranken. Kies het aantal candidates op basis van gemeten recall en latency; top 50 is een nuttig experiment, geen universele drempel.

Voeg geen LLM reranker toe vóór een cross-encoder, tenzij de candidate set zeer klein is. Het relevance judgment moet bovendien subtiel genoeg zijn om de kosten te rechtvaardigen. LLM reranking kan helpen, maar is duurder en trager. Meet het tegen een goedkopere reranker.

Evaluation-sequence

  1. Label echte queries over belangrijke intents, talen, permissions en failure costs. Begin klein en breid daarna uit totdat de slices en onzekerheid de beslissing ondersteunen.
  2. Meet BM25 afzonderlijk.
  3. Voeg dense retrieval toe en meet de recall delta.
  4. Voeg fusion toe en meet nDCG en Recall@k.
  5. Voeg cross-encoder reranking toe en meet Precision@1 en nDCG.
  6. Voeg alleen LLM reranking toe als dit de kwaliteit verbetert nadat kosten en latency zijn meegerekend.
  7. Houd production metrics in de gaten: zero-result rate, reformulation rate, click-through, answer correction, p95 latency en kosten.

Verder lezen

Referenties