Anatomie d'un moteur de recherche : L'infrastructure de Google

Conception selon la description fournie par les fondateurs de Google, Lawrence Page et Sergey Brin.

Datant de 1998, ce document présente une vue simplifiée et l'unité de PageRank notamment doit être développée en plusieurs unités pour prendre en compte les multiples critères, dont par exemple le comportement des utilisateurs.

Architecture du moteur de recherche

Anatomie du moteur de recherche de Google - Réutilisation interdite
(c) 2010 Scriptol.com/Scriptol.fr - Réutilisation interdite dans une page Web

Les composants

Crawlers

Il y en a plusieurs, distribués, ils parsent les pages, y trouvent des liens et des mots-clés.

Serveur d'URLs
Fournit aux crawlers une liste d'URL à scanner.
Serveur de banque
Le crawler envoie les données récoltées au serveur de banque.
Celui-ci compresse les pages et les places sous cette forme dans le dépôt.
Chaque page stockée a un identifieur, un docID.
Banque
Contient une copie des pages et des images, permet les comparaisons et la mise en cache.
Indexeur
Il indexe les pages pour les fournir aux SERPs (résultats). Il décompresse les documents et les convertit en ensemble de mots appelés "hits". Il distribue les hits parmi un ensemble de tonneaux. Cela fournit un index partiellement trié. Il crée aussi un liste des URLs dans la page.
Un hit contient les informations suivantes: le mot, sa position dans le document, la taille de police, la capitalisation.
Barils
Ces barils figurés sont des bases de données qui classent les documents par docID.
Ils sont créés par l'indexeur et utilisés par le trieur.
Ancres
Le fichier d'ancres créé par l'indexeur contient les liens internes et le texte associé à chaque lien.
Résolveur d'URL
Il reprend le contenu du fichier d'ancres, convertit les URL relatives en adresses absolues et retrouve ou crée les docID.
Il crée un index de documents et une base de données de liens.
Index de documents
Il contient le texte relatif à chaque URL.
Liens
La base de donnée de liens associe chacun d'eux à un docID (donc aussi à un document sur le Web).
PageRank
Le logiciel utilise la base de liens pour définir le PageRank de chaque page.
Trieur
Il interagit avec les barils. Il reprend les documents classés par docID et crée une liste inversée qui est classée par wordID.
Lexicon
Un logiciel appelé DumpLexicon prend la liste fournie par le trieur (classée par wordID), et reprend également le lexicon créé par l'indexeur (la liste des mots-clés dans chaque page), et fabrique un nouveau lexicon à destination du chercheur.
Chercheur
Il tourne sur un serveur Web dans un datacenter, il utilise le lexicon fabriqué par DumpLexicon en combinaison avec l'index classé par wordID, prend en compte le PageRank et fabrique une page de résultats.

Il va de soi que ce schéma est simplifié. Le système tend à devenir de plus en plus complexe avec le temps et les fonctions ajoutées.

Références

The Anatomy of a Large-Scale Hypertextual Web Search Engine. Par Larry Page et Sergey Brin.
Ce document en anglais hébergé par Stanford, date probablement de 1998 et détaille en profondeur le fonctionnement du moteur de recherche. Le présent document en est un résumé, accompagné d'un nouveau schéma réalisé pour Scriptol.com/Scriptol.fr.

How search works
Explication très développée du fonctionnement d'un moteur de recherche par Google. (Anglais).

Les icônes sont soit créés pour Scriptol, soit pris dans la banque d'icônes d'utilisation libre.