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