Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2216 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] Comment creer un moteur de recherche ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Comment creer un moteur de recherche ?

n°289413
gladiato
Call on me
Posté le 19-01-2003 à 14:40:37  profilanswer
 

le but est de creer un moteur de recherche interne a mon site mais je c  pas trop par ou commencer  :sweat:

mood
Publicité
Posté le 19-01-2003 à 14:40:37  profilanswer
 

n°289471
Profil sup​primé
Posté le 19-01-2003 à 16:47:47  answer
 

Code :
  1. $req="SELECT * FROM forum WHERE Category='{$_POST['cat']}' AND language='{$_POST['lang']}' AND (nom like \"%$nom%\" OR comment like \"%$nom%\" )";
  2. $que=mysql_query($req) or die (mysql_error());


 
simple exemple

n°290297
electroger
Posté le 20-01-2003 à 21:40:18  profilanswer
 

Ca m'interesse moi aussi. Mais je sais pas du tout comment ça fonctionne... Ca marche avec des mots clefs?? C'est pour mon site : http://rogerone.free.fr

n°350300
omega2
Posté le 02-04-2003 à 16:23:40  profilanswer
 

Ce que je comptes faire pour mon site :
Pour chaque phrase, découpe pour avoir un tableau de mot.
Je vire tout les doublons.
Je vires les mots appartenant à une liste donné. (afin d'éliminer les mots du genre "le" )
Pour chaque mot, je ne gardes que les 6 premiers caractères que je stockes dans une table (dont la structure suit plus bas) avec le numéro de message corespondant.
 
Structure de la table :
id integer
texte char 6
num_message integer
 
Pour la recherche, je prends chaque mot choisit, je gardes les 6 première lettres pour rechercher dans la table ci dessus et le mot complet pour chercher sur la table des messages.
Pour la sous partie à 6 caractère, je fait une copie de la lsite en remplaçant le dernier caractère par le caractère suivant dans l'ordre alphabétique (exemple omega devient omegb)
Je lance la requête suivante : (pas testé donc peut être avec de petites erreurs)
 
SELECT mess_id,mess_texte  
FROM tab_recherche,tab_message
WHERE mess_id=id
AND ( texte>="omega"
AND texte<"omegb"
AND upper(mess_texte) like "OMEGA" )
 
 
Les trois dernières lignes sont a répété pour chaque mot.
Si tous les mots recherchés font partie des mots interdits (non significatif) il ne sert à rien de lancer la requête et on prévient l'utilisateur.
Si certains mots recherchés font partis des mots non significatifs, alors au lieu des trois dernières lignes, on ne met que la dernière. (sans la parenthèse)
 
C'est une recherche sur le début du mot uniquement.
 
 
J'espères que ca va vous avoir aidé à optimisé tout ça. :)

n°350304
bobuse
Posté le 02-04-2003 à 16:27:22  profilanswer
 

utilises google :D

n°350311
omega2
Posté le 02-04-2003 à 16:33:19  profilanswer
 

bobuse a écrit :

utilises google :D  

Mal optimisé pour des petits sites (t'as plus de chance de tomber chez les autres :D ), sans compter que toutes les pages sont pas toujorus indexés. ;)

n°350319
bobuse
Posté le 02-04-2003 à 16:39:58  profilanswer
 

omega2 a écrit :

Mal optimisé pour des petits sites (t'as plus de chance de tomber chez les autres :D ), sans compter que toutes les pages sont pas toujorus indexés. ;)


ok ok ;)

n°350469
protoinou
Posté le 02-04-2003 à 19:04:47  profilanswer
 

Regarde sur commentcamarche.net, y'a un truc comme çà  
!!!

n°350629
omega2
Posté le 02-04-2003 à 22:53:28  profilanswer
 

ProToinou a écrit :

Regarde sur commentcamarche.net, y'a un truc comme çà  
!!!
 

Sur ce site là, ce que j'ai trouvé, c'est comment utiliser les moteur de recher du genre d'altavista. J'y ai pas vu d'indications sur comment en créer un pour son site personnel. (mal ccherché peut être)

n°350642
protoinou
Posté le 02-04-2003 à 23:00:55  profilanswer
 

http://www.commentcamarche.net/php/phpmoteur.php3
 
regarde je crois que çà correspond à tes attentes... j'ai pas vraiment lu...
Donc désolé si c'est pas çà  
 :jap:


---------------

mood
Publicité
Posté le 02-04-2003 à 23:00:55  profilanswer
 

n°350743
omega2
Posté le 02-04-2003 à 23:57:37  profilanswer
 

ProToinou a écrit :

http://www.commentcamarche.net/php/phpmoteur.php3
 
regarde je crois que çà correspond à tes attentes... j'ai pas vraiment lu...
Donc désolé si c'est pas çà  
 :jap:  

T'as raison, ca a l'air d'être à peu près ça.
Mais je suis pas certain qu'il fasse le même genre de recherche que ce que je me prépare à faire. Celui là a l'air de référencé les mots clées de la page html finale tant dis que celui que je penses faire moi prend plusieurs textes (comme les messages d'un forum) les inddexes et permet ensuite de retrouver les textes corespondants à la recherche.
Bon, le principe de base est le même, seules certaines parties changent. ;)
 
D'ailleur dans mes explications de tout à l'heure, j'ai fait une erreur.
Quand on a plusieurs mots avec ma méthode, il faut faire :
 

SELECT mess_id,mess_texte  
FROM tab_recherche,tab_message
WHERE mess_id=id
AND (
( texte>="OMEGA"
AND texte<"OMEGB" )
[ OR ( texte>="MOT"
AND texte<"MOU" ) ]
)
AND (upper(mess_texte) like "OMEGA" [ OR upper(mess_texte) like "MOT" ] )


 
J'ai mis des crochets autour des parties qu'il faut répété pour chaque mot en plus du premier.
Pour les mots non significatif, on rajoute juste ce qui est entre la seconde paire de crochets.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] Comment creer un moteur de recherche ?

 

Sujets relatifs
[JavaBeans] je recherche des JavaBeans au format '.jar' pour testerComment creer un fichier .exe extractible à partir de fichiers ?
Créer une routine ?[STL] vector/list de structures, recherche d'elements de la structure
ligne de code pour créer un fichier ? (quick-basic)Recherche developpeurs
Recherche composants "base de données"Recherche de cliques maximales d'un gno
Recherche aide pour developpement site d'annonces libertinescomment creer un moteur de recherche interne (au site)?
Plus de sujets relatifs à : [php] Comment creer un moteur de recherche ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR