$rankFusion

MongoDB 🔴 Senior

Dé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.
#sgbd#interview#database#mongodb#mongo8

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre