Comparaison de chaine en php (type match against sql) - PHP - Programmation
Marsh Posté le 15-11-2023 à 16:10:48
Jouer avec des distances type jaro winkler?
Marsh Posté le 15-11-2023 à 16:12:56
en "natif" php t'as levenshtein par exemple : https://www.php.net/manual/fr/function.levenshtein.php
Marsh Posté le 15-11-2023 à 16:15:45
Pas mieux
Si tu nous disais comment tu t'y prends en SQL*, on pourrait être davantage précis
Marsh Posté le 15-11-2023 à 16:24:38
Pour un truc qui ressemblait vaguement j'avais fait du jaro winkler, stocké les "candidats", puis une interface basique pour faire passer à la main quelqu'un sur tout ce qui était en-dessous d'un certain seuil de certitude et valider ou non la transformation.
Et une fois le process manuel passé moulinette sur le résultat.
Marsh Posté le 15-11-2023 à 18:00:40
skeye a écrit : en "natif" php t'as levenshtein par exemple : https://www.php.net/manual/fr/function.levenshtein.php |
Ydalb a écrit : Pas mieux |
Ben avec un colonne indexé FULLTEXT et un WHERE MATCH (col) AGAINST ('search string');
Ça date un peu mais je me souvient que ça marchait plutôt bien... ^^
skeye a écrit : Pour un truc qui ressemblait vaguement j'avais fait du jaro winkler, stocké les "candidats", puis une interface basique pour faire passer à la main quelqu'un sur tout ce qui était en-dessous d'un certain seuil de certitude et valider ou non la transformation. |
Je vais pré-choisir le best match dans le select et afficher le score à coté, en vert si < 10, orange entre 10 et 20 et rouge au dessus.
Après quelques tests ça me semble déjà pas trop mal fonctionner...
Merci à vous !
Marsh Posté le 15-11-2023 à 15:46:37
Bonjour,
Je travailles sur un outil pour aider la conversion de fichier d'export produit csv entre Magento (source) et Woocommerce (destination).
J'ai un petit soucis pour essayer de magiquement associé d'ancienne catégories avec des nouvelles.
Par exemple à l'heure actuelle dans Magento j'ai un produit associé à la catégorie "truc/bidule/machin", ma moulinette le convertit bien en "truc > bidule > machin" mais cette catégorie n'existe pas dans le nouveau site.
Quasiment tout les premier niveaux sont différent, par exemple il faudrait que sa match avec FOO > bar > bidule > machin.
Idéalement je voudrais le meilleur match ainsi que le score car de toute façon ma moulinette va être utilisé par quelqu'un qui va vérifier la conversion avant de générer le csv d'import.
Je sais le faire en sql mais ça m’embête un peu de faire une requête SQL par ligne du csv, je voulais voir si y avait pas un algo php (ou un outil en ligne de commande via system(), je suis sur un dédié et j'ai ma liste de catégorie "possible" dans un csv).
Merci d'avance pour vos pistes de recherches, j'ai demandé à Google mais je ne doit pas avoir les bons mots clé, je ne trouves rien de pertinent...
---------------
D3