Version complète: sur le forum Webmaster Hub : Classement d'une recherche
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
zirone
Bonsoir,

Je ne trouvais pas comment nommer ce topic, mes excuses. smartass.gif
Sur mon site Internet je dispose d'une fonction recherche http://www.battlestargalactica-online.com/...online-com.html .
Toutefois, celle-ci ne fait que rechercher les mots correspondants dans la BDD et les lister dans l'ordre de leur ID. Autant dire que si on cherche une fiche spécifique, on est dans un bordel pas possible pour trouver une réponse whistling.gif

J'aurais aimé savoir s'il y avait un moyen pour faire en sorte que cette "liste" qui suit la recherche fasse une liste selon la réponse qui pourrait le plus correspondre à la recherche du visiteur? Un peu comme google en soit, sauf qu'ici, on calculerait plus la "pertinence" d'une page à une autre sous forme de pourcentage par exemple... Cette fiche à 85% celle-ci 71% etc...

Auriez-vous des idées? des soluces? des astuces? smile.gif
Merci beaucoup a_thumbsup_20.gif
TheRec
Bonjour,

MySQL depuis la version 3.23.23 propose, sur les tables de type MyISAM, la recherche "FULLTEXT". Il faut définir les champs sur lequel ou lesquels se fait la recherche et leur attribuer un INDEX FULLTEXT. Ensuite il est possible d'utiliser la syntaxe destinée aux recherches en "texte intégral" (le manuel explique très bien toutes les étapes et en plus il est en français wink.gif). L'avantage de ce type de recherche est que tu obtiens le "score" des enregistrements retournés.

Bonne lecture.

P.S. : Ce type de recherche n'a pas que des avantages bien entendu, mais ce genre calculs de "score" avec une simple clause WHERE s'avèrent difficiles à réaliser.
zirone
Merci wink.gif
Je verrais ça quand j'ai un peu de temps ce w-e wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.