Maison  >  Questions et réponses  >  le corps du texte

Méthode de pertinence pour trier les résultats de recherche en texte intégral MYSQL

<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粉938936304P粉938936304423 Il y a quelques jours525

répondre à tous(2)je répondrai

  • P粉090087228

    P粉0900872282023-08-25 09:40:13

    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.

    répondre
    0
  • P粉039633152

    P粉0396331522023-08-25 00:44:30

    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

    répondre
    0
  • Annulerrépondre