Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment faire correspondre et trier par similarité dans MySQL ?

Je ne sais pas si LIKE est la bonne façon de le faire. Si vous devez rechercher dans votre texte des mots-clés et trier les résultats par score de pertinence, vous devez utiliser Index de texte intégral MySQL et Fonctions de recherche en texte intégral MySQL . Désolé si cela vous éloigne de ce que vous essayez réellement de faire, mais je vous recommande d'y jeter un coup d'œil. Quelques citations du manuel de référence de MySQL :

1) Comment créer un index de texte intégral sur plusieurs colonnes d'une table

mysql> CREATE TABLE articles (
    ->   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    ->   title VARCHAR(200),
    ->   body TEXT,
    ->   FULLTEXT (title,body)
    -> );

2) Exemple de données

3) Exemple de requête qui recherche plusieurs colonnes pour les mots-clés et affiche le résultat + le score :