Comment améliorer la pertinence de la recherche plein texte MySQL pour des champs spécifiques
Supposons que vous disposiez d'une base de données avec deux colonnes : mots-clés et contenu. Vous avez créé un index de texte intégral couvrant les deux colonnes. Mais vous souhaitez donner la priorité aux lignes contenant des mots spécifiques dans la colonne des mots-clés par rapport à celles contenant les mêmes mots dans la colonne du contenu.
Solution :
Créez trois index de texte intégral :
Ensuite, modifiez votre requête comme suit :
SELECT id, keyword, content, MATCH (keyword) AGAINST ('watermelon') AS rel1, MATCH (content) AGAINST ('watermelon') AS rel2 FROM table WHERE MATCH (keyword,content) AGAINST ('watermelon') ORDER BY (rel1*1.5)+(rel2) DESC
Explication :
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!