Projet Bases de Données/Programmation C : Gogol

veille

L’objectif du projet consiste à développer un petit moteur de recherche en appliquant les connaissances acquises dans les cours de bases de données et de programmation C.

Plus précisément, l’objectif est de parvenir à identifier parmi un ensemble de fichiers texte ceux qui correspondent le mieux à la requête d’un utilisateur. Les ressources mises à disposition pour ce projet sont un corpus d’environ 3000 petits fichiers texte ainsi qu’un antidictionnaire sous la forme d’un fichier texte énumérant les mots vides (un par ligne). Le corpus (i.e. l’ensemble des quelques 3000 fichiers) peut être considéré comme le résultat du premier processus du moteur de recherche : l’exploration. Il reste donc à implémenter les deux processus suivants : l’indexation, puis la recherche.

L’implémentation de l’indexation consiste à développer un programme (GogolIndex) en C qui va lire chacun des fichiers du corpus pour en extraire les mots significatifs (i.e. autres que ceux qui figurent dans l’antidictionnaire) et les enregistrer dans une base de données organisée comme un gigantesque dictionnaire inverse. La base de donnée doit ainsi permettre de connaître l’ensemble des fichiers contenant chacun des mots significatifs extraits.

L’implémentation de la recherche consiste à développer un programme (GogolRecherche) en C qui va demander à l’utilisateur de saisir une requête puis retourner la liste des fichiers contenant au moins l’un des mots significatifs de la requête. Cette recherche est bien entendu réalisée en effectuant des requêtes sur la base de données. Les noms des fichiers retournés seront ordonnés en mettant en premier ceux qui contiennent le plus de mots significatifs et en dernier ceux qui en contiennent le moins.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique en apprentissage dans le cours de Bases de Données en janvier 2013.

Cette entrée a été publiée dans Cours and taguée . Placez un signet sur le permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *