begin process at 2012 05 31 16:47:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

recherche dans la base et apostrophes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche dans la base et apostrophes

lundi 26 avril 2004 à 15:57:40 | recherche dans la base et apostrophes

treyze

Bonjour à tous,

J'ai un souci avec les apostrophes car je fais une recherche FULL TEXT (MATCH...AGAINST dans MySQL 4.0.1).

Si je cherche "arbre", les résultats qui contiennent "l'arbre" ne sont pas renvoyés. En plus, dans MATCH...AGAINST, on ne peut pas utiliser * en début de chaine. Quelqu'un a-t-il eut ce type de problème ?

--------------
A train station is where a train stops. A bus station is where a bus stops. On my PC, I have a workstation... ;-)
lundi 26 avril 2004 à 17:33:11 | Re : recherche dans la base et apostrophes

Trinita16

slt,

t'as essayer avec like '%arbre%'



Trinita,
mardi 27 avril 2004 à 15:39:25 | Re : recherche dans la base et apostrophes

treyze

Merci Trinita pour ta réponse.

Le souci, c'est que LIKE ne s'appuie pas sur des index. Et là attention aux temps de réponse !

Mais la réponse a été trouvée : en fait, ça vient directement du parseur de mysql. Il spécifie explicitement que l'apostrophe et le tiret haut ne sont pas des séparateurs de mot.
C'est une partie de code C à changer dans le source de Mysql (4.1.15 ou 18 pour moi). Je n'en dis pas plus pour le moment car ce n'est pas moi qui ai trouvé. Je vais regarder plus en détail comment cela a été fait...

.... Plus de détails dès que possible

merci encore Trinita.
--------------------------------------
A train station is where a train stops. A bus station is where a bus stops. On my PC, I have a workstation... ;-)
mercredi 5 mai 2004 à 16:59:37 | Re : recherche dans la base et apostrophes

mikito

Salut TReyze, alors là kan j'ai lu ton message, j'ai cru ke mon cauchemard allait s'arreter, mais pas tout à fait :

le post ke tu as mis correspond exactement à ce ke je veux faire depuis kkues jours et ke j'avais à moitié laisser tombé puiske je n'avais pas trouvé de réponses !

Je me doutais bien kil fallait changer la source de MySQL pour la toute derniere version pour dans mon cas laisser le tiret haut comme non séparateur de mot mais pour ke l'apostrophe deviennent un séparateur de mot : mais est ce ke tu as de la doc sur comment changer cette partie de code???

Merci vraiment si tu réponds
mercredi 19 mai 2004 à 11:28:21 | Re : recherche dans la base et apostrophes

treyze

Bonjour,

Desolé pour tout ce retard mais j'avais beaucoup de boulot. Voici la reponse à notre épineux problème :

dans les sources : myisam/ft_parser.c

Le code :

#ifdef HYPHEN_IS_DELIM
#define misc_word_char(X) ((X)=='\'')
#else
#define misc_word_char(X) ((X)=='\'' || (X)=='-')
#endif

devient :

#ifdef HYPHEN_IS_DELIM
#define misc_word_char(X) (0==1)
#else
#define misc_word_char(X) (0==1 || (X)=='-')
#endif

On mets juste que X n'est jamais égal à apostrophe (je savais pas si c'etait 0 ou 1 pour FAUX donc j'ai mis une expression fausse). C'est pas plus compliqué...

Maintenant, je peux utiliser les fonctionnalité de la recherche full text "en français".

En espérant que cela vous aidera... A+

A train station is where a train stops. A bus station is where a bus stops. On my PC, I have a workstation... ;-)


Cette discussion est classée dans : base, recherche, match, apostrophes, against


Répondre à ce message

Sujets en rapport avec ce message

recherche d'un développeur base de données pour collaboration [ par nawakjr ] Bonjour,Tout d'abord "Bravo" pour ce site.Je suis en train de concrétiser un grand projet de réseau en ligne (audiovisuel / europe). Je cherche quelqu Moteur de recherche [ par atoguum4ever ] aTomicK Salut à tous,je cherche a faire un moteur de recherche en php et j'ai cru comprendre sur le forum que l comment faire un recherche dans une base mysql [ par boulanger ] je fait une gestion de documentation technique et je boque sur la conception de la page de recherche dans ma base apellé bdbouldoc il y a les champ comment faire un recherche dans une base mysql [ par boulanger ] merci adrien pour le coup de main mais ca ne m affiche rien en resultat de recherche pouvez vous voir ce qui cloche dans le codebase en mysql et code Probleme avec FULLTEXT (wher match... against) [ par mikito ] Bonjour tout le monde voila mon probleme :quand j'effectue une requete telle que : $requete = "SELECT * FROM `produit` WHERE MATCH (nom) AGAINST ('$mo Création d'un moteur de recherche [ par silvia12 ] Bonjours,JE cherche a créer un moteur de recherche.J'ai trouvé plein de truc intéréssant, mais le probléme, c'est que mon site n'as aucune base de don recherche de champ dans base [ par elanspeech ] Bonjour,Je fais une recherche dans ma base de donnees en utilisant REGEXP. Cela fonctionne bien, cependant, si dans ma base, j'ai soit "a TEST b" ou " Moteur de recherche à sauvé vite !!! [ par tony4758 ] Binjour, j'ai un moteur de recherche que j'ai créer, il fonctionne comme sa :tjs_base.Add(adresse de la page,le titre,les mots-clés)Enfin bref, un scr Recherche journal sans base MySql! [ par norm131 ] J,ai beau chercher pas mal, et comme je n'ai pas encore trouver le tutoriel dont j'ai besoin, est-ce que quelqu'un peut me guider et me dire ou je pui Mise en majuscules [ par malaysia ] Bonsoir,Je souhaite que lors d'une recherche dans une base MySQL à partir d'un formulaire en ligne, la recherche se fasse sur les mots de la base qu'i


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales