Import TheMealDB : les synonymes d'ingrédients ("vanilla pod" vs "vanilla bean") ne sont pas reconnus #4
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Lors de l'import d'une recette TheMealDB, certains ingrédients pourtant présents dans le catalogue ne sont pas reconnus automatiquement et finissent dans la section "Ingrédients à compléter", alors qu'un synonyme anglais courant suffirait à les faire correspondre.
Exemple observé sur la recette "Flan" (
externalId53322) : l'ingrédient source"1 vanilla pod"n'est pas reconnu, alors que le catalogue contient bien "Vanille (gousse)" (clévanillaBean, libellé anglais de matching"Vanilla bean"danspackages/shared/src/data/catalog-labels-en.ts).Cause
matchIngredientName(apps/api/src/lib/ingredient-matcher.ts) exige que les tokens du libellé catalogue ("vanilla","bean") apparaissent tels quels et contigus dans le texte source. TheMealDB utilise couramment"Vanilla Pod"plutôt que"Vanilla Bean"—"pod"≠"bean", donc aucune correspondance, malgré un ingrédient équivalent existant.Impact
Faible — l'utilisateur peut toujours choisir manuellement l'ingrédient correct dans "Ingrédients à compléter". C'est un défaut d'ergonomie/complétude des synonymes plutôt qu'un blocage (contrairement à #53).
Piste de correction
INGREDIENT_LABELS_ENn'accepte qu'un seul libellé anglais par ingrédient aujourd'hui — passer à une liste de synonymes par ingrédient (commeUNIT_LABELS_ENle fait déjà pour les unités) permettrait d'ajouter des variantes fréquentes chez les sources anglophones (ex.["Vanilla bean", "Vanilla pod"]) sans devoir changer l'algorithme de matching lui-même.🤖 Filed by Claude Code
mport TheMealDB : les synonymes d'ingrédients ("vanilla pod" vs "vanilla bean") ne sont pas reconnusto Import TheMealDB : les synonymes d'ingrédients ("vanilla pod" vs "vanilla bean") ne sont pas reconnusDéjà corrigé sur
main— ce ticket est un doublon de #54, livré par la PR #59 (commit5d63ff9, "Ajout de INGREDIENT_LABEL_SYNONYMS_EN pour reconnaître des formulations alternatives fréquentes chez les sources anglophones ("vanilla pod" en plus de "vanilla bean")").État actuel du code :
packages/shared/src/data/catalog-labels-en.ts—INGREDIENT_LABEL_SYNONYMS_EN = { vanillaBean: ["Vanilla pod"], ... }(+ équivalent_FR:vanillaBean: ["Gousse de vanille"]).apps/api/src/lib/recipe-matching/ingredient-matcher.ts—loadIngredientCatalogajoute une entréeIngredientMatchEntrypar synonyme, partageant le mêmeingredientId;matchIngredientNamen'a rien à savoir des synonymes, il voit juste plus de libellés candidats.apps/api/test/recipe-matching/ingredient-matcher.test.tscouvrematchIngredientName("1 vanilla pod", …) === 8et le chargement des synonymes parloadIngredientCatalog.Fermé comme corrigé. Rouvrir si un cas de synonyme non couvert refait surface — il suffira alors d'ajouter une entrée dans
INGREDIENT_LABEL_SYNONYMS_EN, sans toucher à l'algorithme.Traité pendant la passe autonome sur les tickets
planned— aucune nouvelle PR nécessaire.