Un moteur de recherche est en général constitué de deux grands modules fonctionnels. Le « collecteur » 62 recherche les documents sur le domaine 63, et en extrait certains composants textuels. Il communique ces informations extraites des différents documents à un « distributeur 64 ». Celui ci construit un index « plein texte » des documents collectés. Dans cet index figure tous les mots des textes extraits, à l’exception de ce ceux figurant dans un grand nombre de documents différents et n’ayant dès lors aucun pouvoir discriminant utile. Le distributeur comporte aussi un gestionnaire de requêtes, qui va traiter les requêtes émises par les utilisateurs, et en exploitant l’index, va lui fournir la liste des documents contenant les termes de la requête, présentés sous une forme plus ou moins laconique [41].
Le gestionnaire de requête offre des fonctionnalités permettant de spécifier des requêtes relativement complexes : opérateur de requêtes (‘ET’, ‘OU’, ‘SAUF’) [65], recherche sur des mots isolés ou sur des expressions composées de plusieurs mots, recherche sur mot entier ou sur partie de mot, utilisation de caractère de troncature 65, insensibilité à la casse 66, voire acceptation de fautes d’orthographe dans un terme de requête : peuvent être trouvés les mots de l’index ne différant de ceux de la requête que par une ou deux lettres (voir aussi : 3.2.1.1 Paramétrage > Moteur de recherche).
La principale limitation des moteurs de recherche « plein texte » est que l’indexation et la recherche se font sur des entités purement lexicales. Une des conséquences est la génération d’un « taux de bruit » 67 souvent très important dans la réponse, c’est à dire la génération de résultats ne correspondant pas à la requête. C’est à cette contrainte que peut répondre la recherche sur les méta données.
62 Gatherer, en anglais.
63 Domaine de recherche : ensemble des CMS dans lesquels est éffectuée une recherche, et souvent objet d’un même index.
64 Broker, en anglais.
65 Joker. Souvent le caractère ‘?’ ou ‘%’.
66 Casse : majuscule, minuscule.
67 Bruit : résultat non pertinent par rapport à la requête.


