Problème bizarre de recherche en FULLTEXT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème bizarre de recherche en FULLTEXT

Re: Problème bizarre de recherche en FULLTEXT

par ouckileou » 10 mai 2010, 17:04

Ah je ne savais même pas, merci d'avoir posté la réponse.

Re: Problème bizarre de recherche en FULLTEXT

par Benamour Jr » 10 mai 2010, 16:45

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

par ouckileou » 10 mai 2010, 15:21

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

par Benamour Jr » 10 mai 2010, 14:17

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

par ouckileou » 10 mai 2010, 14:05

Teste déjà ta requête directement sur le serveur de base de données, même problème ?

Problème bizarre de recherche en FULLTEXT

par Benamour Jr » 10 mai 2010, 13:56

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 !