recherche moteur de recherche pour sql - SQL/NoSQL - Programmation
Marsh Posté le 06-09-2004 à 18:17:29
Quelle SGBD ?
Je sais que :
- SQL Server dispose d'une extension à Index Server qui te permet de faire des recherches indifférement entre des fichiers de type Office/Texte/HTML/XML/PDF et champs de base de données, avec les systèmes "même radical que", "parle de (même champ lexical)", "s'écrit à peut près comme"
- MySQL dispose de fonction de recherches indexées partant du même principe, mais sans accès au système de fichiers
- Des packages payants pour Oracle font de même
Pour les autres bases (DB2, SYBASE, PostGre, OpenIngre, etc.) il doit aussi y avoir des extensions qui gèrent ça, mais je ne connais pas du tout.
Marsh Posté le 06-09-2004 à 19:20:25
Arjuna a écrit : Quelle SGBD ? |
merci, je vais voir cela,
c pour sql
Marsh Posté le 06-09-2004 à 20:38:05
sql quoi ?
mysql ?
sql server ?
postre/sql ?
y'en a plein des SGBD qui contiennent le mot "SQL", puisque c'est la norme autour de laquelle ils tournent
Marsh Posté le 07-09-2004 à 07:34:14
Arjuna a écrit : sql quoi ? |
oups, c mysql
Marsh Posté le 07-09-2004 à 08:07:30
"MySQL dispose de fonction de recherches indexées partant du même principe, mais sans accès au système de fichiers"
ou est ce que je peu trouver cela stp??
Marsh Posté le 07-09-2004 à 09:08:17
nfshp2 a écrit : "MySQL dispose de fonction de recherches indexées partant du même principe, mais sans accès au système de fichiers" |
Aucune idée, je crois que c'est un module à installer à part/activer.
Je pense que du monde ici doit savoir par contre... Jette un oeil dans le topic sur les forums en cours de dev, je suis certain qu'ils utilisent ça pour leurs moteurs de recherche (entre ça et un like, y'a pas photo, c'est à la fois considérablement plus rapide et plus pertinant)
Marsh Posté le 07-09-2004 à 09:13:41
Arjuna a écrit : Aucune idée, je crois que c'est un module à installer à part/activer. |
c koi un like??
ok je vais regarder, merci
Marsh Posté le 07-09-2004 à 09:36:02
select prenom
from utilisateur
where upper(prenom) like upper('%on%')
=> Ca va retourner :
Lionel
Simon
Raymond
Oncle Charlie
Donc si tu as un champ contenant du blabla, tu peux faire un like sur un mot, et ça va retourner toutes les lignes dont le blabla contient le mot.
Par contre :
- Le like est très lent. A éviter absolument sur des champs de type "text" (champs blob jusqu'à 2 Go, qui ne peuvent être indexés)
- Le like ne retrouve que l'expression exacte. Donc si on cherche "MySQL", alors il ne trouvera pas la chaîne "mysql". Il faut alors faire un "upper()" du champ et de l'expression du LIKE, ce qui n'est pas là pour arranger les performances.
- Pour la même raison, si tu recherches "réponses", alors il ne trouvera pas "réponse".
Par contre, tu peux combiner à LIKE un SOUNDEX(), qui permet de retrouver une chaîne "qui se prononce pareil". soundex('activer') retournera 'activé'. Par contre, contraîrement au LIKE, le soundex ne peu porter que sur l'intégralité du champ, alors que le like porte sur une expression contenue dans le champ. Deplus, le SOUNDEX() est tout aussi lent que le LIKE (voir plus)
Bref, c'est la merde
Marsh Posté le 07-09-2004 à 09:45:28
ah tres bien merci
sur le topic forum en dev, ils nont pas l'air tres sympa vu que je souhaite une script simple qui soit deja fait. je comprends quils vaut meiux créer soit meme , mais la c au niveau du temps que ce n'est pas possible
ca m'ennerve car un script qui recherche sur mysql, ca doit pas etre dure a trouver quand meme!
Marsh Posté le 07-09-2004 à 11:51:00
Cherche juste les fonctions MySQL. Une fois que tu les as, écrire la requête prends 10 minutes, et la page qui va autour pas plus...
Par contre, je ne peux pas te dire le nom des fonctions à appeler, je ne les connais pas (je déteste MySQL, et moins je bosse avec, et mieu je me porte )
Marsh Posté le 07-09-2004 à 12:35:23
Arjuna a écrit : Cherche juste les fonctions MySQL. Une fois que tu les as, écrire la requête prends 10 minutes, et la page qui va autour pas plus... |
lol 10min
je suis un debutant
merci quand meme
Marsh Posté le 06-09-2004 à 18:11:19
slt, jai actuellemnt un moteur de recherche (blorck engine) mais il ne recherche pas ce quil y a sur ma bdd.
est ce que ce genre de moteur existe? puis je en avoir un "tout fait"
je vous remerci
edit: le moteur blork est exellent
mais vu que j'ai créé une bdd avec des infos telles que "résumé du site, titre du site...", jaimerai pouvoir faire des recherches sur ca et vu que ces données ne sont pas affichées sur une page , block ne peu pas les trouver
vous voyez ce que je veux dire?
Message édité par nfshp2 le 06-09-2004 à 18:15:43