MySQL PHP : améliorez Levenshtein avec des requêtes SQL optimisées
Dans la quête d'amélioration des capacités de recherche, l'algorithme de distance de Levenshtein est un outil précieux pour trouver des mots similaires à un terme de recherche. Cependant, le code PHP ci-dessus semble effectuer plusieurs requêtes et filtrages. Pouvons-nous affiner cette approche ?
Exploiter la fonction Levenshtein de MySQL
Pour optimiser ce processus, nous pouvons exploiter la fonction Levenshtein native de MySQL. En l'incorporant dans notre requête, nous pouvons éviter le besoin de plusieurs itérations et effectuer le filtrage directement dans la base de données.
Requête SQL optimisée
Voici la requête SQL révisée qui exploite la fonction Levenshtein :
mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
Dans cette requête, $word est une chaîne d'échappement pour empêcher les injections SQL. La fonction levenshtein() compare le mot saisi avec chaque terme du tableau des mots. La clause BETWEEN filtre les mots avec une distance de Levenshtein comprise entre 0 et 4, nous fournissant une liste de termes très similaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!