Maison  >  Article  >  base de données  >  Comment améliorer la pertinence de la recherche Fulltext MySQL avec MATCH...AGAINST ?

Comment améliorer la pertinence de la recherche Fulltext MySQL avec MATCH...AGAINST ?

DDD
DDDoriginal
2024-11-02 13:31:03857parcourir

How to Improve MySQL Fulltext Search Relevance with MATCH...AGAINST?

Comment améliorer les résultats de recherche en texte intégral MYSQL avec le tri par pertinence

Le tri des résultats de recherche par pertinence est crucial pour fournir les résultats les plus pertinents aux utilisateurs. Dans MySQL, cela peut être réalisé grâce à ses robustes capacités de recherche en texte intégral. Cependant, l'utilisation du mot-clé LIKE ne constitue pas une recherche en texte intégral.

Pour exploiter la puissance de la recherche en texte intégral, utilisez la construction MATCH(...) AGAINST(...). La clause MATCH évalue les termes de recherche par rapport aux colonnes spécifiées, générant un score de pertinence pour chaque résultat. Ce score sert à mesurer dans quelle mesure le résultat correspond à la requête de l'utilisateur.

Pour prioriser les correspondances exactes, la structure de requête suivante peut être adoptée :

SELECT *
FROM `vocabulary`
WHERE MATCH(translation) AGAINST ('word')
ORDER BY MATCH(translation) AGAINST ('word') DESC

La fonction MATCH calcule la pertinence score et le qualificatif DESC garantissent que les lignes avec les scores les plus élevés (c'est-à-dire les plus pertinents) sont affichées en premier. Cela garantit que la correspondance exacte du « mot » apparaît en haut des résultats, suivie de correspondances partielles triées par ordre alphabétique.

En exploitant la construction MATCH(...) AGAINST(...) , vous pouvez améliorez la pertinence de vos résultats de recherche en texte intégral MYSQL, en fournissant à vos utilisateurs les informations les plus précieuses et les plus pertinentes qu'ils recherchent.

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!

Déclaration:
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