SPB Git forge

spb/auto-ka

Public
61commits 1branches 0releases
14.4 MBsize
maindefault branch
13 days agolast push
Python 61.6% TypeScript 20.9% CSS 11.4% JavaScript 5.1% HTML 1.1%
2.1 KB · 54 lines markdown
Rendered Raw Blame History
1# Transverse — Dédoublonnage VIN inter-sources23_Généré automatiquement par `scripts/gen_connector_docs.py`._45## Mécanique (`autoka/dedup.py`)67> dedup.py : dédoublonnage inter-sources par VIN8> 9> Le même véhicule apparaît souvent chez plusieurs sources : le site du10> concessionnaire ET le portail de son groupe (Le Prix du Gros ↔ HGrégoire,11> Méga Centre ↔ concessions Laplante, Toutes les marques ↔ GM Côte-Nord…),12> voire une petite annonce Kijiji. Le VIN (17 caractères, unique au monde)13> est la clé de blocage parfaite : on ne regroupe QUE sur VIN identique et14> valide — dédoublonnage volontairement conservateur, zéro faux positif.15> 16> Pour chaque groupe de doublons on élit une annonce CANONIQUE :17> autorité (concessionnaire direct > portail/regroupeur > petites18> annonces) puis complétude de la fiche, puis ancienneté (first_seen).19> La canonique garde la liste des autres offres dans `dup_sources` (JSON) ;20> les doublons pointent vers elle via `dup_of` (uid canonique). Les21> endpoints de liste filtrent `dup_of IS NULL` — les fiches détail restent22> toutes accessibles par uid.23> 24> `recompute()` repart de zéro à chaque appel (idempotent) : appelé à la fin25> de chaque cycle d'ingestion (ingest.run) et disponible en one-shot :26> python3 -m autoka.dedup2728## État live2930- **Annonces en base** : 13678231- **Annonces masquées (`dup_of` non nul)** : 1312832- **Annonces canoniques avec doublons** : 1073233- **Autorité** : concessionnaire direct > portail/regroupeur > petites annonces ; puis complétude de la fiche, puis ancienneté (`first_seen`).34- Les listes filtrent `dup_of IS NULL` ; les fiches détail restent accessibles par uid.3536## Sources les plus masquées3738| Source | Annonces masquées |39|---|---|40| `otogo` | 6766 |41| `autousagee` | 3216 |42| `leprixdugros` | 979 |43| `megacentredeliquidation` | 443 |44| `touteslesmarques` | 317 |45| `montjolichrysler` | 279 |46| `occasionbeaucage` | 217 |47| `cargurus` | 161 |48| `stefoychrysler` | 125 |49| `jeandumas` | 119 |50| `baiecomeaugm` | 101 |51| `abitibiautocredit` | 92 |5253Recalcul one-shot : `python3 -m autoka.dedup` (idempotent, relancé à la fin de chaque cycle d'ingestion).54