Page 1 sur 1
moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 07:50
par virginie
Bonjour j'ai mis en place la requete pour faire une recherche par mot dans ma bdd mais si je tape le mot avec majuscule il ne me le trouve pas et si il est au pluriel non plus. Pouvez vous m'aiguiler pour le correctif. Merci
$sql = mysql_db_query($sql_bdd,"SELECT * FROM $table2 WHERE MATCH (titre,description) AGAINST ('+$recherche' IN BOOLEAN MODE) ORDER BY id DESC LIMIT ". $_GET['debut'] .",". $nb_affichage_par_page ." ;",$db_link) or die(mysql_error());
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 07:58
par stopher
Salut ,
quel est l'encodage de ta table ?
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 09:05
par virginie
C'est UTF8 unicode
merci
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 09:53
par stopher
Passe ta table en collation utf8_unicode_ci
utf8_unicode_ci (ci = case insensitive)
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 11:09
par virginie
Je viens de changer avec utf8_unicode_ci mais pas de résultat.
En fait j'aimerais, si je cherche avec ma requete un mot comme 'arbre' que le resultat trouvé soit
arbre - arbres - Arbre -Arbres - ARBRE - ARBRES
avec majuscule ou minuscule pluriel et singulier est ce possible ?
Merci à vous
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 15:45
par Nours312
théoriquement, dans l'état une requete sur le mot 'arbre' devrait déjà te retourner arbre - Arbre - ARBRE, en ayant passé la table en ci
ensuite, il faudra ajouter des éléments à ta clause pour gérer le pluriel
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 16:23
par Virginie
Rien a faire, j'ai changé même les champs dans ma table sur l'interclassement
je suis passé en utf8_unicode_ci
mais si j'écris pas le mot à l'identique la requete ne me trouve rien.
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 21 juin 2010, 18:48
par virginie
Ok pour le pluriel ou singulier j'ai rajoutez * après $recherche
$sql = mysql_db_query($sql_bdd,"SELECT * FROM $table2 WHERE MATCH (titre,description) AGAINST ('+$recherche*' IN BOOLEAN MODE) ORDER BY id DESC LIMIT ". $_GET['debut'] .",". $nb_affichage_par_page ." ;",$db_link) or die(mysql_error());
Mais je trouve pas pour les majucules ou minuscules, elle fait toujours la différence. Si quelqu'un peut m'aider, merci
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 09 oct. 2010, 23:20
par virginie
Bonjour, je relance le sujet sur mon problème concernant la recherche avec résultats en majuscule ou minuscule. Ca marche toujours pas malgrès mes recherches sur le net. 3 mois que je suis sur le sujet mais sans sucée. Qui peut m'aiguiller?
Merci
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 11 oct. 2010, 08:14
par yop
Salut virginie,
j'ai mis en place un moteur de recherche sur mon intranet
aucun problème avec les majuscules
par contre je n'utilise pas de clause MATCH
as-tu essayé avec une clause de base description='toto' ?
pour les pluriels, attention au *, tu vas récupérer plus d'info que demandé
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 11 oct. 2010, 18:04
par mojorisin
Hello,
essayez de reconstruire les index de la table :
REPAIR TABLE nom_de_votre_table QUICK;
Re: moteur de recherche IN BOOLEAN MODE avec le S ou les maj
Posté : 12 oct. 2010, 13:32
par telnes
et avec la clause LIKE %% ?