|
|
|
|
|
Pour la casse tu peut déjà utilisé l'opérateur LIKE, il te retrouvera plusieur mots sans tenir compte de la casse (majuscule et minuscule) mais je sais pas pour les voyelle avec accent.
Sinon pour la recherche je pense que ca devrait marcher: SELCT * FROM maTable WHERE champ1 LIKE "%monMot%" OR champ2 LIKE "%monMot%" ... |
oué commence déjà par regardé la doc pour la commande "like" de mysql.
Ensuite tu peu également créer des index dans té tables et qui te permettent un gain consédérable de temps, mais sa prend aussi pas mal de mémoire sur ta bdd kan ta des grosses tables bien pleines
|
ben je c pas ce que contient exactement ta bdd, mé tu peu définir des mots clés (mots les plus souvent tapé par tes visiteurs) pour caractériser un texte. Tu met un index dessus et ca peut te faire gagner en rapididé de requète, mais bon.... ca vau ce que ca vau.... tout dépend de l'utilisation exacte de ton moteur |
Tu peut utiliser les expressions regulieres pour le probleme avec les accents, dans le cas de" batîment":
SELECT * FROM maTable WHERE champ1 REGEXP "b[aâà]1t[îiï]m[eéè^é¨2]nt"; (pas sur du code mais il doit rssembleer a ca) Par contre tu doit modifier le mot via t'on script (PHP ?) |
Salut,
En effet la creation d'un index est une bonne chose. Tu crée un index sur le syllable les plus courantes. Par exemple, si tu cree un index pour "va", alors chevalier se trouvera dedans. Pour les accents, tu peux dupliquer les colonnes qui contiennent des accents en colonnes sans accent, sans caracteres speciaux, sans les articles et sans la ponctuation... pour une recherche plus rapide. |
oui ca pourrai etre une bonne idée : tu duplique la colone qui contient le texte a l'interieur duquel tu cherche tes mots (genre la colone "description" et "titre" pour un annuaire de site par exemple) et dans les colones dupliquées, tu met le meme texte, mais sans accent ni ponctuation("description_format" "titre_format" par ex.). Et pour tes recherches, ben tu cherchera directement dans le texte formaté ("description_format" "titre_format") |
Bon je devrais pouvoir m'en sortir maintenant...
Merci à tous pour votre aide !!! |
Essaye un interclassement ‘latin1_swedish_ci’ pour ta table et tes champs recherchés.
Tes requêtes ignoreront alors la casse et les accents.
|
Résultats pour MySQL:Recherche efficace d'un mot dans une ta
Résultats pour MySQL:Recherche efficace d'un mot dans une ta
Résultats pour MySQL:Recherche efficace d'un mot dans une ta
Résultats pour MySQL:Recherche efficace d'un mot dans une ta