Réaliser
un moteur de recherche interne en PHP
La gestion des erreurs au sein de ses applications apporte de multiples avantages aux utilisateurs et aux programmeurs. Exemples d'implémentation en Javascript, Php et Java.
Pas à pas, JDNet Développeurs vous propose de réaliser
un script de recherche sur un base d'indexation MySQL. Sans prétendre
égaler, ou même approcher, les fonctionnalités
de scripts élaborés réalisés en PHP
ou dans d'autres langages, notre moteur se veut d'abord respectueux
de quelques grands principes de la recherche documentaire: création
d'une base d'indexation où figurent les principaux mots contenus
dans les documents à parcourir lors de la recherche, et leurs
"poids" respectifs (calculé en fonction de leur
nombre d'occurences, mais aussi de leur présence dans certaines
parties-clés du document, comme le titre), recherche dans
cette base pour accélerer le processus du point de vue de
l'utilisateur (l'indexation étant réalisée
tous les jours, par exemple, côté serveur voire en
local), etc... Notre script permettra, incidemment, de "réviser"
un grand nombre de points de programmation PHP importants, notamment
dans la manipulation de chaînes de caractères et le
parcours récursif de fichiers. Ce faisant, il fera appel
à des fonctions qu'il est bon de connaître.
Pédagogique avant tout, cette série d'articles est
conçue comme un point de départ pour le lecteur, qui
approfondira ses connaissances en améliorant, enrichissant
et optimisant le script proposé.
Dans cette nouvelle série de tutoriels nous nous proposons d'explorer
les principes de bases d'un "moteur de recherche". Notre méthode
sera basique mais nous l'espérons pédagogique. Ce sera également
l'occasion d'apprendre ou de réviser bon nombre de fonctions Php.
Dans cette seconde partie de notre série consacrée à un "moteur
de recherche" en Php, nous améliorons la gestion du poids des mots
et offrons une "interface" d'indexation à notre moteur.
Dans ce troisième volet de notre "moteur de recherche", nous améliorons
l'indexation par un algorithme de parcours récursif des fichiers,
et nous implémentons l'origine du mot traité dans notre table.
Notre moteur
fonctionne ! Suite à la phase d'indexation, l'accent est mis aujourd'hui
sur la recherche et la présentation des résultats.
Notre
moteur est déjà fonctionnel, mais voici quelques pistes concernant
l'optimisation de notre script "moteur.php".
[Dossier établi par Arnaud
Gadal 19
février 2002 , JDNet]
|