2017 : un projet de moteur de recherche !?
Je me suis, très tôt, intéressé aux moteurs de recherche, à leurs algorithmes. Dès 2002, je me suis attelé à la tâche. Il s’agissait pour moi d’indexer les contenus qui m’apparaissaient les plus pertinents. En 2004, j’avais donné un petit nom à mon moteur : Wroom ! Le nom de domaine n’est plus disponible. Hélas.
J’ai commencé au cours des vacances de Noël l’écriture d’un nouveau moteur, en mode Extreme programming : « je teste, puis je code. » J’ai déjà traité la moitié du module d’exploration. J’aurais ensuite à coder l’indexation des pages et l’interface de recherche, après avoir déterminé les facteurs de classement. J’ai des idées très précises en la matière. Je me suis notamment penché sur les moyens d’évaluer la « distorsion » sémantique. Je dois également écrire un ordonnanceur qui se chargera de gérer les bots liés à l’exploration et à l’indexation de contenu. Pour l’instant, j’utilise des tâches planifiées.
Cela fait un peu plus d’un an que j’ai ce projet en tête et il n’y a rien de bien compliqué à écrire tout ça, tout se faisant en fait en mode asynchrone. Mais je risque d’être très vite embêté par la surface du projet et les capacités de traitement nécessaires au niveau de l’exploration et de l’indexation. Paradoxalement, la volumétrie des données stockées en base ne me posera pas de problème particulier : ce moteur sera très sélectif sur la qualité des sources indexées. A terme, je me pose la question d’aller vers MongoDB, sachant que j’ai retenu pour l’instant de travailler sur des tables MariaDB motorisées en Aria. J’ai besoin des fonctions de type Full Text Search.
J’ai choisi, dans un 1er temps, d’écrire ma maquette en PHP. Je verrais pour transcrire le code en Python, pour la partie concernant l’exploration et l’indexation.
Une bonne année 2017 à vous tous et à vous toutes !