Recherche documentaire

Fermé
leila - 1 août 2002 à 11:42
blux Messages postés 26730 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 mars 2025 - 5 août 2002 à 21:15
je ne sais pas ou je pourais trover de l'aide pour une
recherche documentaire(recherche par mot cle) pouvez vous
me donner quelques @.
merci

5 réponses

choubaka Messages postés 39420 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 19 février 2025 2 104
1 août 2002 à 13:26
c'est pour en créer une?????

Chouba
"Obsédé des travaux manuels non pratiquant"
0
oui c pour creer une recherche par mot cle et je suis tout au debut et je ne sais pas par quoi commencer.
je travail avec pl/sql et j'ignore comment faire et surtout en recuperant la requete du chaps(element text) comment la recuperer caractere par caractere?
0
blux Messages postés 26730 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 mars 2025 3 332
3 août 2002 à 15:32
Salut,

ben comme ça en vitesse (en supposant que tu connaisses bien le SQL et le relationnel) :

- une table qui contient les articles auxquels on accède
- une table qui contient les mot-clés
- une table (avec clés étrangères des relations articles-mots-clés)

une procédure qui va scanner les articles et extraire les mots intéressants (qui ne sont pas du style : le, la, les, du, au, à, des... encore que tu puisses les laisser !)

en SQL, on peut utiliser les fonctions de chaines (substring...) dans un select en utilisant le fait qu'un texte est séparé par des espaces et en n'oubliant pas que des mots peuvent avoir des apostrophes...

une fois que l'on a extrait un mot intéressant, on le met en table (s'il n'existe pas) et on crée le lien avec l'article que l'on a scanné (en gardant le numéro d'ordre de la première lettre du mot dans l'article, pour pouvoir y accéder rapidement).

pis après, y'a plus ka faire une requête avec jointure sur les trois tables et WHERE mot-clé = "toto"...

ça te plairait comme début ?

A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
g deja cree une table pour les mot-cles et une table pour leur synonymes( ie:j'attribue pour chaque mot-cle son synonyme) mais mon pb est comment recuperer de la requete(chaine de plusieur mots) les mots un par un pour les comparer au contenu des tables?(comment faire des traitement sur le champ de la requete qui n'est pas un element de la bd)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 26730 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 mars 2025 3 332
5 août 2002 à 21:15
et bien, il suffit de découper la requête initiale (les mots à trouver) en mot simples par l'instruction substring (ou une du même genre, voir la doc PL/SQL), pour mettre chaque mot trouvé dans une table temporaire, en utilisant le fait que PL/SQL est procédural (donc qu'il permet de faire des itérations).

Une fois que la fin de chaine est atteinte, il suffit de faire une requête entre la table qui contient les mots-clés recherchés et la table qui contient l'intégralité des mots-clés.

Pour les fonctions de contrôle (genre TANT QUE, fin de chaine...), je te renvoies à ta documentation PL/SQL favorite !

A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0