Page 1 sur 1

Recupérer la valeur SCORE d'une requete MATCH AGAINST

Posté : 25 janv. 2006, 16:15
par inuendo
Bonjour,

j'ai une requête en fulltext avec MATCH AGAINST qui me permet de classer les résultats par pertinence en attribuant automatiquement un score.
$requete = "SELECT *, MATCH (fr) AGAINST ('électrique') AS score FROM table WHERE MATCH (fr) AGAINST('+électrique' IN BOOLEAN MODE) ORDER BY score DESC"
Je voudrais en fait récupérer ce score pour créer une image dynamique (une barre indiquant le degré d'exactitude en %).

Est-ce possible avec une autre requête ?

Posté : 25 janv. 2006, 16:30
par Hubert Roksor
Je ne comprends pas... tu as récupères déjà le score. Le resultat "score" contain un nombre de 0 à n (si mes souvenirs sont bons) qui correspond au degré de pertinence du resultat. À toi de convertir cette valeur en pourcentage si tu le souhaites, pour cela il faudra lancer quelques requêtes et te baser sur la moyenne générale des score que tu obtiens, il n'y a pas de formule magique.

Un conseil: oublie les pourcentages (les utilisateurs se fichent de savoir qu'une requête est soi-disant pertinente à 63% ou 58%) et utilise un indicateur plus simple, par exemple de 1 à 5 étoiles, c'est beaucoup plus parlant ;)

Posté : 25 janv. 2006, 16:37
par inuendo
Bonjour Hubert Roksor!

Le but c'est d'afficher une barre horizontale qui change de couleur en fonction du % du résultat : 100% = bleu foncé; 80-100% = bleu avec la barre plus petite sur un fond gris par exemple, etc.

Mais j'ai essayé de faire un select du score en fonction de la requête précédente mais je n'arrive pas à faire apparaître les scores...

Mais bon faut dire que j'essaie de faire un truc largement au dessus des mes connaissances aussi... ça m'apprendra lol

Posté : 25 janv. 2006, 17:17
par inuendo
Ah mais je suis vraiment un idiot !

en fait, la valeur score est automatiquement récupéré lors de la requête ! Je croyais qu'il fallait trouver un moyen de la récupérer...

:oops:

Posté : 25 janv. 2006, 18:13
par inuendo
Euh, en revanche,

est-ce que je peux attribuer la première valeur à une variable pour qu'elle serve de référence pour calculer le %age ?

si par exemple 6
5
3

il faudrait que je puisse dire que 6 est la valeur de référence...

Posté : 25 janv. 2006, 18:21
par inuendo
Bon désolé, je ferai mieux de réfléchir avant de poser mes questions... Je suis fatigué je crois :oops: