Transverse — Dédoublonnage VIN inter-sources
Généré automatiquement par scripts/gen_connector_docs.py.
Mécanique (autoka/dedup.py)
dedup.py : dédoublonnage inter-sources par VIN
Le même véhicule apparaît souvent chez plusieurs sources : le site du concessionnaire ET le portail de son groupe (Le Prix du Gros ↔ HGrégoire, Méga Centre ↔ concessions Laplante, Toutes les marques ↔ GM Côte-Nord…), voire une petite annonce Kijiji. Le VIN (17 caractères, unique au monde) est la clé de blocage parfaite : on ne regroupe QUE sur VIN identique et valide — dédoublonnage volontairement conservateur, zéro faux positif.
Pour chaque groupe de doublons on élit une annonce CANONIQUE : autorité (concessionnaire direct > portail/regroupeur > petites annonces) puis complétude de la fiche, puis ancienneté (first_seen). La canonique garde la liste des autres offres dans
dup_sources(JSON) ; les doublons pointent vers elle viadup_of(uid canonique). Les endpoints de liste filtrentdup_of IS NULL— les fiches détail restent toutes accessibles par uid.
recompute()repart de zéro à chaque appel (idempotent) : appelé à la fin de chaque cycle d'ingestion (ingest.run) et disponible en one-shot : python3 -m autoka.dedup
État live
- Annonces en base : 136782
- Annonces masquées (
dup_ofnon nul) : 13128 - Annonces canoniques avec doublons : 10732
- Autorité : concessionnaire direct > portail/regroupeur > petites annonces ; puis complétude de la fiche, puis ancienneté (
first_seen). - Les listes filtrent
dup_of IS NULL; les fiches détail restent accessibles par uid.
Sources les plus masquées
| Source | Annonces masquées |
|---|---|
otogo |
6766 |
autousagee |
3216 |
leprixdugros |
979 |
megacentredeliquidation |
443 |
touteslesmarques |
317 |
montjolichrysler |
279 |
occasionbeaucage |
217 |
cargurus |
161 |
stefoychrysler |
125 |
jeandumas |
119 |
baiecomeaugm |
101 |
abitibiautocredit |
92 |
Recalcul one-shot : python3 -m autoka.dedup (idempotent, relancé à la fin de chaque cycle d'ingestion).