matching : MAX_BLOCK 400 -> 3000 (les marques maison depassent 400 candidats depuis les circulaires grandes bannieres ; comparaisons en fenetre triee de 30 = cout lineaire, rebuild mesure a 7 s)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 changed file +3 −1
modified
foodka/matching.py
+3 −1
@@ -27,7 +27,9 @@ from .normalize import parse_size, strip_accents | ||
| 27 | 27 | # seuils de similarité (SequenceMatcher sur jetons triés) |
| 28 | 28 | SIM_WITH_SIZE = 0.86 # marque + format identiques -> le nom confirme |
| 29 | 29 | SIM_NO_SIZE = 0.95 # aucun format connu -> quasi-identité exigée |
| 30 | −MAX_BLOCK = 400 # garde-fou : bloc (marque, format) anormalement gros | |
| 30 | +MAX_BLOCK = 3000 # garde-fou : bloc (marque, format) anormalement gros | |
| 31 | + # (comparaisons en fenêtre triée de 30 -> coût linéaire ; | |
| 32 | + # les marques maison dépassent 400 depuis les circulaires) | |
| 31 | 33 | |
| 32 | 34 | _ALNUM_RE = re.compile(r"[^a-z0-9]+") |
| 33 | 35 | # jetons de format dans le nom (« 2 x 450 g », « 1,5 l »…) — retirés du nom |
| 34 | 36 | |