Le fonctionnement d'un moteur de recherche se décompose en trois étapes principales.
L'exploration ou crawl : le web est systématiquement exploré par un robot d'indexation suivant récursivement tous les hyperliens qu'il trouve et récupérant les ressources jugées intéressantes. L'exploration est lancée depuis une ressource pivot, comme une page d'annuaire web. Un moteur de recherche est d'abord un outil d'indexation, c'est à dire qu'il dispose d'une technologie de collecte de documents à distance sur les sites web, via un outil que l'on appelle robot ou bot. Un robot d'indexation dispose de sa propre signature (comme chaque navigateur web). Googlebot est le user agent (signature) du crawler de Google
L'indexation des ressources récupérées consiste à extraire les mots considérés comme significatifs du corpus à explorer. Les mots extraits sont enregistrés dans une base de données organisée comme un gigantesque dictionnaire inverse ou, plus exactement, comme l'index terminologique d'un ouvrage, qui permet de retrouver rapidement dans quel chapitre de l'ouvrage se situe un terme significatif donné. Les termes non significatifs s'appellent des mots vides. Les termes significatifs sont associés à une valeur de poids. Ce poids correspond en à une probabilité d'apparition du mot dans un document. Cette probabilité est indiquée sous la forme d'une "fréquence de terme", ou "inverse de fréquence de terme" et est souvent calculée par la formule TF-IDF.
La recherche correspond à la partie requêtes du moteur, qui restitue les résultats. Un algorithme est appliqué pour identifier dans le corpus documentaire (en utilisant l'index), les documents qui correspondent le mieux aux mots contenus dans la requête, afin de présenter les résultats des recherches par ordre de pertinence supposée. Les algorithmes de recherche font l'objet de très nombreuses investigations scientifiques. Les moteurs de recherche les plus simples se contentent de requêtes booléennes pour comparer les mots d'une requête avec ceux des documents. Mais cette méthode atteint vite ses limites sur des corpus volumineux. Les moteurs plus évoluées utilisent la formule TF-IDF pour mettre en perspective le poids des mots dans une requête avec ceux contenus dans les documents. Cette formule est utilisée pour construire des vecteurs de mots, comparés dans un espaces vectoriel, par une mesure de Cosinus (la similarité Cosine). Pour améliorer encore les performances d'un moteur, il existe de nombreuses techniques, la plus connue étant celle du PageRank de Google qui permet de pondérer une mesure de cosinus en utilisant un indice de notoriété de pages. Les recherches les plus récentes utilisent la méthode dîtes d'analyse sémantique latente qui tente d'introduire l'idée de co-ocurrences dans la recherche de résultats (le terme "voiture" est automatiquement associé à ses mots proches tels que "garage" ou un nom de marque dans le critère de recherche).
Des modules complémentaires sont souvent utilisées en association avec les trois briques de bases du moteur de recherche. Les plus connus sont les suivants:
Le correcteur orthographique : il permet de corriger les erreurs introduites dans les mots de la requête, et s'assurer que la pertinence d'un mot sera bien prise en compte sous sa forme canonique.
Le lemmatiseur : il permet de réduire les mots recherchés à leurs lemme et ainsi d'étendre leur portée de recherche.
L'anti dictionnaire : utilisé pour supprimer à la fois dans l'index et dans les requêtes tous les mots outils (tels que "de", "le", "la") qui sont non discriminants et perturbent le score de recherche en introduisant du bruit.