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
| Stage | Default | Taak |
|---|---|---|
| Filtering | Structured filters | Handhaaf tenant, permissions, product, taal, tijd en beschikbaarheid. |
| Lexical retrieval | BM25 | Exacte namen, ID’s, error codes, juridische termen en tokens met hoge precisie. |
| Dense retrieval | Embeddings | Synoniemen, paraphrases, fuzzy intent en semantic recall. |
| Fusion | Reciprocal Rank Fusion of weighted retriever composition | Combineer sparse en dense candidates zonder te doen alsof de scores vergelijkbaar zijn. |
| Reranking | Cross-encoder | Rangschik een door latency begrensde shortlist opnieuw op basis van query-document interaction. |
| Final precision | LLM reranker of answer model | Los genuanceerde relevance pas op wanneer de lijst klein is. |
| Evaluation | Recall@k, nDCG, MRR, click labels, human labels | Toon aan dat elke stage de vorige verbetert. |
Defaults per use case
| Product surface | Goede default | Waarom |
|---|---|---|
| Documentation search | BM25 plus embeddings plus cross-encoder | Exacte API-namen en semantic questions zijn beide belangrijk. |
| RAG retrieval | Hybrid retrieval plus reranker plus citation checks | Ontbrekend bewijs is meestal erger dan trage generation. |
| Product search | Lexical filters plus hybrid retrieval plus business features | Availability, prijs, populariteit en exacte facets zijn belangrijk. |
| Support search | Hybrid retrieval plus freshness en ticket metadata | Vergelijkbare formuleringen en actuele policy zijn beide belangrijk. |
| Internal knowledge base | BM25-baseline, daarna dense retrieval uit query logs | Begin meetbaar voordat je modelkosten toevoegt. |
| Legal of compliance search | Lexical baseline plus strict filters, daarna zorgvuldige semantic expansion | False 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
- 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.
- Meet BM25 afzonderlijk.
- Voeg dense retrieval toe en meet de recall delta.
- Voeg fusion toe en meet nDCG en Recall@k.
- Voeg cross-encoder reranking toe en meet Precision@1 en nDCG.
- Voeg alleen LLM reranking toe als dit de kwaliteit verbetert nadat kosten en latency zijn meegerekend.
- Houd production metrics in de gaten: zero-result rate, reformulation rate, click-through, answer correction, p95 latency en kosten.
Verder lezen
- Search Ranking Stack bevat de volledige implementation walkthrough.
- RAG Evaluation Metrics legt retrieval- en citation-evaluation uit.