$rankFusion
MongoDB 🔴 SeniorDéfinition
Stage d'aggregation, généralement disponible (GA) depuis MongoDB 8.0, qui combine les classements de plusieurs sous-pipelines (par exemple recherche vectorielle et recherche full-text) en un seul classement hybride pondéré.
Analogie
Comme un jury qui fusionne les notes de plusieurs juges (recherche vectorielle, recherche texte) en un classement final unique.
Exemple de code
db.products.aggregate([
{ $rankFusion: {
input: { pipelines: {
vector: [{ $vectorSearch: {
index: 'v_idx', path: 'emb',
queryVector: [0.1, 0.2], limit: 20
}}],
text: [{ $search: {
text: { query: 'chaussures', path: 'name' }
}}]
}}
}}
]);
Cas d'usage
Combiner recherche sémantique et recherche full-text pour un classement de résultats plus pertinent (hybrid search).
Anti-pattern
Pondérer tous les sous-pipelines de la même façon sans ajuster selon leur pertinence métier.
Termes liés
Fiche mise à jour le 2026-09-27