Bonjour à tous,
Je suis totalement débutant en ASP et je dois améliorer un moteur de recherche existant et déjà en ligne depuis pas mal de temps déjà.
Ce moteur fonctionne plutôt bien mais seulement si on recherche sur un seul mot ou alors sur des mots qui se suivent dans le texte recherché.
Les caractères non-accentués ne sont pas pris en compte non plus...
Exemples :
J'ai un article qui s'intitule "Ne répondez pas au message"
Si je cherche "message", OK
Si je cherche "répondez", OK
Si je cherche "répondez pas au message", OK
Si je cherche "repondez", PAS OK
Si je cherche "répondez message", PAS OK
L'idéal serait de pouvoir gérer les caractères accentués et non-accentués de la même manière et
de ne pas être obligé de saisir l'expression exacte de l'article pour le trouver.
J'espère que c'est pas trop fouillis ce que je dis...
Qqn a déjà rencontré ce problème ou sait comment le gérer ?
En attendant, voici le script qui est utilisé (je pense que tout y est)
merci d'avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 <% // remplacement espace vide,<,>... mot=Replace(mot1,"'","''") mot=Replace(mot,"<","<") mot=Replace(mot,">",">") %> <% // test mot pour voir si chaine recherche vide if mot="" or mot=" " then %> <% // si pas vide else %> <% // connection bdd + requete sql #1 DSN_BASE = "DBQ=" & Server.Mappath("/admin/bddtests.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25" Set conn = Server.CreateObject("ADODB.Connection") conn.Open DSN_BASE SQL = "SELECT * FROM pathologies WHERE titre LIKE '%"&mot&"%' OR auteur LIKE '%"&mot&"%' OR parution LIKE '%"&mot&"%' OR motsclefs LIKE '%"&mot&"%' ;" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL , conn // si RS vide if rs.eof=true then %> <span class="titre_cadrebleu"> Pas de résultat(s) dans >>pathologies<< contenant l'expression :<%response.write "<br>"+mot1%></span> <% // si RS pas vide debut affichage resultats pathologies else %> <font face="Arial" size="2" color="#800000">Vous recherchez <B> <% =mot1%> </B>sur ce site,</font></p> <p align="center"> <BR> <b><font face="Arial" size="2">Voici les pages trouvées :</font></b></p> <div align="center"><span class="titre_cadre">Articles Pathologies</span><span class="lien1"><br> <br> </span> <% // retour boucle affichage pathologies rs.MoveNext loop %> </table> </center> </div> <% end if %> <% rs.close set rs=nothing conn.close set conn=nothing %> ...
cdlt.
Partager