Page 1 sur 1

Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 13:56
par Benamour Jr
Bonjour,

Je viens vers vous avec un problème qui me turlupine depuis qqs jours. J'ai un moteur de recherche sur mon site basé sur l'index FULLTEXT, il passe nickel pour n'importe quel recherche à part pour le terme "than". Concrètement, le moteur de recherche est entre autre basé sur le champ "nom" d'une table "individu". Par exemple, pour recherche George Bush je tape 'George', 'Bush' ou 'George Bush' et je tombe sur sa page. Ca se passe bien d'ailleurs pour n'importe quel nom, à part "Than". J'ai un individu renseigné sous le nom "Than Shwe", si je le recherche en tapant "Shwe" je tombe dessus, mais par contre il n'y a aucun résultat quand je tape 'Than'... ?

D'où cela peut-il bien provenir ?

Je vous copie/colle mon code mais je vois pas trop à quoi ca va vous servir, il est basique et devrait normalement fonctionner pour cette requête. ($count renvoie donc 0 pour la recherche "Than" alors que "Than Shwe" est écrit tel quel dans le champ "nom" de la table "individu").
<?php
$req_search = $bdd->prepare('SELECT id_individu, nom, description FROM individu WHERE MATCH (nom) AGAINST(:recherche)');
$req_search->execute(array('recherche' => $_POST['recherche']));
$count = $req_search->rowCount();
?>

Merci à ceux qui voudront bien se pencher sur mon problème !

Re: Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 14:05
par ouckileou
Teste déjà ta requête directement sur le serveur de base de données, même problème ?

Re: Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 14:17
par Benamour Jr
Tu entends quoi par là ? (je suis vraiment néophyte ^^)
Si je fais une recherche de "than" en LIKE %...% via phpmysql sur le champ "nom" j'ai deux résultats dont celui qui m'intéresse.

Re: Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 15:21
par ouckileou
J'entends par là que tu dois tester ta requête directement sur le serveur, sans passer par un script PHP. Donc via phpmyadmin, ou la console MySQL par exemple. Ce qui permettra déjà de cibler le problème.

Ces conseils sont d'ailleurs résumés ici : sql-bases-donnees/php-sql-etapes-suivre ... 19378.html

Donc si t'as requête fonctionne quand tu passes par phpMyAdmin, c'est qu'il y a un problème dans le script. Affiche la requête exécutée (le SQL généré) tu verras par exemple les variables que tu envoies.

Re: Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 16:45
par Benamour Jr
En fait c'est tout bête, "than" est simplement ignoré dans les recherches en fulltext :
http://dev.mysql.com/doc/refman/5.0/en/ ... words.html
Merci quand meme pour ton aide !

Re: Problème bizarre de recherche en FULLTEXT

Posté : 10 mai 2010, 17:04
par ouckileou
Ah je ne savais même pas, merci d'avoir posté la réponse.