Dawa www.shootmeagain.com | Bonjour,
Je suis en train de bosser sur un moteur de recherche performant pour mon site. Pour faire simple, ce sont des chroniques de disques. J'aimerais que le moteur permette de taper à la volée le nom d'un groupe et / ou d'un album et que les résultats soient classés par pertinence. Hélas après moultes recherches je ne suis pas satisfait du résutat...
Dans ma table "reviews", j'ai créé un champs "searchindex" dans lequel figurent les mots-clefs dans lesquels rechercher. C'est-à-dire le nom du groupe, de l'album et du label. J'ai créé sur ce champs un index FULLTEXT, comme conseillé un peu partout. La requête qui va chercher tout ça, la voici :
Code :
- select distinct idreview, idband, band, releas, reviewart, bandname, review_slug, idlabel,nomlabel, splitlabel, url, titre, reviewer, cover, date, iduser, login, split, texte, searchindex, SUM(MATCH (searchindex) AGAINST ('$recherche')) as score from band_reviews, reviews, users, groupe, label_reviews, labels where labels.idlabel=label_reviews.label and label_reviews.labelrelease=idreview and releas=idreview and reviewer=iduser and band=idband and reviewonline=1 and MATCH (searchindex) AGAINST ('$recherche') group by idreview order by score DESC limit 20
|
Bon y a beaucoup mais faut évidemment faire attention aux MATCH / AGAINST. De ce côté là c'est correct non ? Parce que les résultats le sont moins. Par exemple, si je fais une recherche sur Poison The Well, le résultat qui arrive en tête (j'indique le contenu du champs searchindex) : bullet for my valentine the poison trustkill
SCORE 11.11
poison heart one poison drives out another we are
SCORE 8.44
poison the well i/iii ii/iii iii/iii ferret music
SCORE 5.80
poison the well versions ferret music
SCORE 5.73 Je ne comprends pas comment le premier a un tel score, alors que le premier résultat vraiment pertinent n'arrive qu'en troisième avec un score de moitié moindre... C'était vraiment une bonne idée l'index en FULL TEXT vu que cela exclut certains mots trop courants dans les termes de recherche ? Dans ce cas-ci je suppose que le THE en fait partie...
Merci de m'éclairer à ce sujet ! ---------------
SHOOT ME AGAIN WEBZINE
|