$scoreFusion

MongoDB 🔴 Senior

Définition

Stage d'aggregation, généralement disponible (GA) depuis MongoDB 8.3 (4 mai 2026), qui combine les scores de plusieurs sous-pipelines selon une formule explicite plutôt que par simple fusion de rangs comme $rankFusion.

Analogie

La ou $rankFusion fusionne des classements, $scoreFusion fusionne des notes chiffrées selon une formule choisie.

Exemple de code

db.articles.aggregate([
  { $scoreFusion: {
    input: {
      pipelines: {
        recent: [{ $addFields: {
          score: { $divide: [1, '$ageInDays'] }
        }}],
        relevance: [{ $search: {
          text: { query: 'ia', path: 'title' }
        }}]
      },
      normalization: 'minMaxScaler'
    }
  }}
]);

Cas d'usage

Construire un score composite (fraîcheur + pertinence textuelle) pour trier un fil d'actualité.

Anti-pattern

Confondre $scoreFusion (formule de score) et $rankFusion (fusion de rangs) : leur comportement diffère sur des distributions de scores hétérogènés.

Termes liés

#sgbd#interview#database#mongodb#mongo83

Fiche mise à jour le 2026-09-27

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