principe de fonctionement d'1 moteur de rech.

Petit nouveau ! | 8 Messages

23 nov. 2005, 00:30

Quelque chose m'échappe :
faut-il créer un champ ou une table dans une BDD et écrire la recherche dedans pour faire fonctionner un moteur de recherche ?

Eléphant du PHP | 101 Messages

23 nov. 2005, 01:43

il ya plusieur façon de faire un moteur de recherche

1 soit tu créer un champs mots clé et un champs url
tu stock les mots clé avec l'url pour chaque pages

mots clé c'est un peut limité

2 tu stock le contenue de tes pages dans un base de donnees
et la la recherche est simple .

3 tu fait recherches le mots a rechercher dans les pages directement
en parcouran toute les pages de ton site sans passer par la bdd

sinon tu utilise google dans ton site

Eléphant du PHP | 383 Messages

23 nov. 2005, 19:34

j'ai realise un moteur de recherche assez simple dont voici le principe ( il est basee sur des articles, qui ont une titre une description et un contenu, mais c'est facilement adaptable )
j'ai une base avec 3 champs : id_article, motCle et score.
lorsque j'ajoute un article a la base, je copie son contenu dans une variable separé.
dans cette variable, je vire tous les accents, mets tous les mots en minuscule puis vire tous les petis mots ( genre de a est notre alors... ) ce qui enleve environ 50 % (!) de l'article, d'ou un gain d'efficacite.
puis je cree un tableau qui contient chaque mot restant apres ces operations, et le nombre de fois que ce mot apparait dans l'article avec un bonus s'il apparait dans la description, et un super bonus s'il apparait dans le titre, ce qui me donne le score de ce mot pour cet article.
je stocke chacun des mots dans ma base et je fais la recherche la dessus

Petit nouveau ! | 8 Messages

29 nov. 2005, 12:40

humm :?
merci pour vos réponse mais je ne vois toujours pas.
Donc il faudrait écrire les mots clés dans la base ?
mais pourquoi faire ?

les mots recherchés ils sont dans la base ou ils n'y sont pas.
Alors pourquoi les écrire dans la base ? :shock:

Eléphant du PHP | 383 Messages

29 nov. 2005, 14:38

je ne pretends pas avoir la meilleure reponse, mais je pense que c'est mieux de creer un index separé avec les mots cles : ca te permet de gérer une pertinence plus ou moins complexe pour chaque mot cle, ca accelere les recherches, ca te permet de stocker des mots cles en minuscule, sans accents et sans code html ( si ton utilisateur cherche pepin, et que tu as pépin ou pépin dans ta base, ca va foirer. ), et d'eviter de faire une recherche sur les petits mots inutiles. donc je penses que c'est une solution efficace, mais il y a beaucoup de methode differentes.