JoP Posté 16 Août 2009 Posté 16 Août 2009 Bonjour à tous, J'aimerais faire un moteur de recherche qui va chercher les termes entrés sur toutes les tables de ma base de données... je sais comment rechercher sur une table avec "like", mais je ne sais pas comment aller plus loin... Merci à tous
Bigb06 Posté 16 Août 2009 Posté 16 Août 2009 Bonjour, Avec Mysql vous pouvez utiliser la requête suivante: SELECT * FROM table WHERE MATCH (colonne) AGAINST (expression) Cela permet de faire une recherche qui se rapproche de celle effectuée par de vrais moteurs de recherche (recherche en texte intégral). Après je crois qu'il y a plusieurs contraintes: faire une recherche sur une colonne de type TEXT qu'il y ait un certain nombre d'enregistrements dans la table (plus de deux). Bon à savoir si on fait des tests. Plus d'infos ici: http://dev.mysql.com/doc/refman/5.0/fr/fulltext-search.html
Leonick Posté 18 Août 2009 Posté 18 Août 2009 j'avais fait quelques tests et ça n'a pas donné de résultats probants
tulerpeton Posté 3 Septembre 2009 Posté 3 Septembre 2009 Si la taille du texte dans lequel tu recherches est importante (500 Go par exemple) une recherche en texte intégral pourra prendre de longues minutes. Si c'est le cas, pour aller plus vite, il faudra conserver le texte intégral mais aussi indexer chaque mot ce qui aura pour effet d'augmenter d'un facteur 2 à 3 la taille de la base de donnée.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant