Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1466 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comparaison de chaine en php (type match against sql)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de chaine en php (type match against sql)

n°2458220
mechkurt
Posté le 15-11-2023 à 15:46:37  profilanswer
 

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
mood
Publicité
Posté le 15-11-2023 à 15:46:37  profilanswer
 

n°2458222
skeye
Posté le 15-11-2023 à 16:10:48  profilanswer
 

Jouer avec des distances type jaro winkler?


---------------
Can't buy what I want because it's free -
n°2458223
skeye
Posté le 15-11-2023 à 16:12:56  profilanswer
 

en "natif" php t'as levenshtein par exemple : https://www.php.net/manual/fr/function.levenshtein.php


---------------
Can't buy what I want because it's free -
n°2458225
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 15-11-2023 à 16:15:45  profilanswer
 

Pas mieux :o

 

Si tu nous disais comment tu t'y prends en SQL*, on pourrait être davantage précis :jap:

Message cité 1 fois
Message édité par Ydalb le 15-11-2023 à 16:15:58

---------------
:o
n°2458227
skeye
Posté le 15-11-2023 à 16:24:38  profilanswer
 

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.


---------------
Can't buy what I want because it's free -
n°2458233
mechkurt
Posté le 15-11-2023 à 18:00:40  profilanswer
 


 :love:  

Ydalb a écrit :

Pas mieux :o
 
Si tu nous disais comment tu t'y prends en SQL*, on pourrait être davantage précis :jap:


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.  
Et une fois le process manuel passé moulinette sur le résultat.


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 !


---------------
D3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comparaison de chaine en php (type match against sql)

 

Sujets relatifs
[C] permettre à l’utilisateur de modifier une chaîne de caractères[ksh] Mixture bizarre dans une chaine de caracteres - getopts
Supprimer le caractère & dans une chaine[Powershell] [RESOLU] Lire caractères à partir du 17eme d'une chaine
[LUA] - [RESOLU] - Regex - string.match() qui match à moitié...effacer ligne via un bouton avec chaine?
collision entre SYSGUID (oracle) UUID (de type 4)[SQL] Trouver une chaine dans une phrase
Comment afficher une image provenant d'un formulaire type "radio"Créer et gérer des EditText "à la chaine" [résolu]
Plus de sujets relatifs à : Comparaison de chaine en php (type match against sql)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR