Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je trier les résultats de recherche en texte intégral MySQL par pertinence ?

DDD
Libérer: 2024-11-03 02:19:29
original
969 Les gens l'ont consulté

How can I sort MySQL fulltext search results by relevancy?

Tri des résultats de recherche en texte intégral MySQL par pertinence

Lorsque vous travaillez avec MySQL, il est essentiel de comprendre la différence entre LIKE et la recherche en texte intégral pour un tri précis des résultats.

Dans la requête fournie :

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";
Copier après la connexion

L'opérateur LIKE est utilisé pour la correspondance partielle, pas pour la recherche en texte intégral. Pour effectuer une recherche en texte intégral, utilisez la syntaxe MATCH(...) AGAINST(...).

Par exemple :

$query="SELECT * from `vocabulary` WHERE MATCH(translation) AGAINST('+word')";
Copier après la connexion

La fonction MATCH renvoie un score de correspondance qui peut être utilisé comme approximation de la pertinence. Ce score peut être utilisé pour trier les résultats. Par exemple :

$query="SELECT *, MATCH(translation) AGAINST('+word') AS score FROM `vocabulary` ORDER BY score DESC";
Copier après la connexion

Cette requête trie les résultats par pertinence, les correspondances ayant obtenu le score le plus élevé apparaissant en premier.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal