Méthode de pertinence pour trier les résultats de recherche en texte intégral MYSQL
P粉938936304
P粉938936304 2023-08-24 12:03:52
0
2
565
<p>Je suis relativement nouveau sur MYSQL et j'ai un problème qui me dérange depuis un moment. J'ai essayé de chercher des réponses à divers endroits, mais je n'ai pas encore trouvé de solution acceptable. </p> <p>Il s'agit de la requête que j'exécute actuellement pour trouver la meilleure correspondance pour un terme de recherche donné : </p> <pre class="brush:php;toolbar:false;">$query="SELECT * from `vocabulary` WHERE traduction = 'word' OU traduction LIKE '%word%'";</pre> <p>Les résultats renvoyés sont complets, y compris toutes les lignes pertinentes. Cependant, ils ne sont pas triés dans un ordre particulier et j'aimerais, lors de l'impression des résultats en PHP, afficher en premier les correspondances exactes. Comme ceci :</p> <heure /> <p>1 | mot <-correspondance exacte</p><p> 2 | mots croisés <-correspondance partielle alphabétique /</p><p> 3 | mots</p><p> 4 | <heure /> <p>Merci beaucoup pour votre aide par avance. </p> <p>-macspacejunkie</p>
P粉938936304
P粉938936304

répondre à tous(2)
P粉090087228

LIKE n'est pas une recherche en texte intégral. Dans la recherche en texte intégral, MATCH(...) AGAINST(...) renvoie un score de correspondance qui se rapproche de la pertinence.

P粉039633152
SELECT * from vocabulary 
WHERE translation like 'word'  
union all
SELECT * from vocabulary 
WHERE translation LIKE '%word%' and translation not like 'word'

Les correspondances exactes seront répertoriées en premier

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal