Resolver¶
Le Resolver est le composant chargé de déterminer si les preuves disponibles permettent de rattacher une observation à une identité canonique.
Son rôle en une phrase¶
Le Resolver ne crée pas arbitrairement un produit : il évalue les candidats disponibles et produit une décision explicable.
Exemple simple¶
Un marchand envoie :
Samsung Galaxy S26 256 Go Noir
Après normalisation, plusieurs informations peuvent être disponibles :
- marque : Samsung ;
- modèle : Galaxy S26 ;
- stockage : 256 Go ;
- couleur : noir ;
- éventuels identifiants supplémentaires.
Le système peut alors construire un ou plusieurs candidats correspondant à ces preuves.
Le Resolver examine ces candidats et retourne un résultat.
Preuves
↓
Candidats
↓
Resolver
↓
resolved / unknown / ambiguous / conflict
Les principaux résultats¶
resolved: une identité peut être retenue de manière suffisamment sûre ;unknown: il n'y a pas assez de preuves ;ambiguous: plusieurs candidats restent plausibles ;conflict: les preuves se contredisent de manière bloquante.
Le Resolver ne doit pas transformer automatiquement les trois derniers états en resolved uniquement pour éviter une donnée manquante.
Pourquoi ne pas simplement utiliser un score ?¶
Un score peut aider une décision, mais il ne remplace pas les règles de résolution et de conflit.
Par exemple, un candidat pourrait obtenir un score élevé tout en ayant une contradiction bloquante sur le modèle. Le Resolver doit pouvoir conserver ce conflit au lieu de masquer le problème derrière une moyenne.
Ce que le Resolver ne doit pas faire¶
Il ne doit pas :
- dépendre du rendu frontend ;
- écrire directement en base ;
- modifier une projection ;
- inventer des preuves absentes ;
- laisser un marchand particulier devenir la vérité absolue ;
- masquer une ambiguïté pour produire artificiellement davantage de produits résolus.
Comment diagnostiquer un mauvais rattachement¶
Si une offre est rattachée au mauvais produit :
- vérifier les valeurs reçues du marchand ;
- vérifier leur normalisation ;
- identifier les candidats produits ;
- examiner les preuves et conflits du résultat de résolution ;
- vérifier ensuite seulement la projection et le frontend.
Le problème peut venir d'une mauvaise donnée source, d'une règle de normalisation, d'une règle verticale ou du mécanisme de résolution. Modifier l'affichage ne corrigerait pas ces causes.