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

Comment puis-je prioriser la pertinence dans la recherche plein texte MySQL pour différents champs ?

Susan Sarandon
Libérer: 2024-11-04 01:44:30
original
485 Les gens l'ont consulté

How Can I Prioritize Relevance in MySQL Fulltext Search for Different Fields?

Atteindre la priorisation de la pertinence dans la recherche plein texte MySQL

Lorsque vous effectuez des recherches en texte intégral dans plusieurs champs, MySQL attribue une pertinence égale aux correspondances trouvées dans chaque champ. Cependant, il peut y avoir des scénarios dans lesquels il est souhaitable de donner la priorité à certains champs, afin de garantir qu'ils contribuent de manière plus significative au score de pertinence global.

Solution : créer des index pondérés

Pour y parvenir , créez plusieurs index de texte intégral :

  • Un sur le champ avec une priorité plus élevée (par exemple, des mots-clés)
  • Un sur le champ avec une priorité inférieure (par exemple, du contenu)
  • Un sur les deux champs combinés (par exemple, mots-clés, contenu)

Exemple de requête avec pertinence pondérée

Utilisation du MATCH (mot-clé) CONTRE (... ) et MATCH (contenu) CONTRE (...), vous pouvez calculer des scores de pertinence distincts pour chaque champ. L'instruction CASE attribue des valeurs binaires pour indiquer si un champ spécifique contient le terme de recherche :

SELECT *, 
CASE WHEN Keywords LIKE '%watermelon%' THEN 1 ELSE 0 END AS keywordmatch, 
CASE WHEN Content LIKE '%watermelon%' THEN 1 ELSE 0 END AS contentmatch,
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal