Choix d'un moteur de recherche pour le site EPFL

Francis.Lapique@epfl.ch, projet e-pfl,

Le nouveau moteur de recherche du site EPFL est atteignable depuis fin août à l'adresse: mysearch.epfl.ch.

Introduction

Moteur de recherche (Google, Altavista, ht://Dig, Inktomi, ...) et outil de gestion des services Web (WebSphere 4 d'IBM, WebLogic 6.0 de BEA, Oracle 9iAS, Jahia, ...) constituent les fondations techniques du futur système d'information de l'EPFL. Le choix de ces technologies relevant du projet e-pfl, celui-ci s'est fixé comme premier objectif prioritaire le choix du moteur de recherche pour juillet 2001 et comme second, l'outil de gestion des services Web pour novembre 2001. Ces choix se font sur la base d'études comparatives de produits du marché, du domaine public et de développements internes, tout en collant aux standards, principalement J2EE (Java 2 Enterprise Edition) pour ce qui est des services Web. Cet article concerne le moteur de recherche.

Pourquoi un moteur de recherche?

Le moteur de recherche d'un site est un élément essentiel car il est perçu tant par les visiteurs occasionnels qu'assidus comme un pont d'accès privilégié entre lui et l'ensemble des informations du site.

Critères de choix

Afin de définir une classe de critères, rappelons les caractéristiques principales se rapportant au fonctionnement d'un moteur. Schématiquement (fig. 1) celui-ci, sur la base d'un certain nombre de règles, récolte des informations provenant de différentes sources: pages Web, fichiers téléchargeables au format divers (Word, rtf , PDF, Postscript, asp), enregistrements de bases de données, les indexe, et offre des interfaces de recherche simple/avancée pour formuler les demandes et une interface pour en présenter les résultats.

figure 1: Schéma de principe d'un moteur de recherche

Cette description sommaire nous permet de mettre en avant un certain nombre de critères de choix comme:

  1. robustesse/ouverture: le moteur ne doit jamais être mis en difficulté par des pages, documents ou sites exotiques. Les cadres ou frames devront être pris en compte, les taux de conversion des fichiers doc, PDF, ps proches de 100% et l'accès aux enregistrements des bases de données garanti;
  2. rapidité: pour un site comme celui de l'EPFL qui compte aujourd'hui environ 350.000 pages sans compter toutes les informations comprises dans les bases de données, l'indexation doit prendre 2 à 3 jours au plus;
  3. caractère intuitif: l'interface de recherche standard doit être la plus intuitive possible, celle avancée, nécessairement plus complète, doit offrir des possibilités de demandes multi-critères. Le support des principales langues doit être assuré;
  4. clarté: les résultats sont présentés sous une forme claire avec résumé et niveau de pertinence;
  5. convivialité des outils d'administration: la gestion du moteur doit se faire à partir d'une application Web. L'administrateur doit disposer de bons outils de paramétrage du moteur, de son suivi et de la gestion des index.

Nous avons décidé de mettre au concours les 4 moteurs suivants:

  1. ht//Dig 3.2: développé par l'Université de San Diego State.(www.htdig.org).
  2. Google (www.google.com/services )
  3. Altavista Search Engine 3.0 ( solutions .altavista.com/products/products.html)
  4. Inktomi Search/Enterprise version 4.1 ( www.inktomi.com/products/search/enterprise .html)

Le premier est un produit du marché libre, le deuxième n'est pas à proprement parler un outil mais une offre d'indexation à distance de site, les deux derniers sont des produits du marché assez semblables.

Nous avons entrepris ces tests sur une machine Dell PowerEdge 2400 sous NT4 (pack 6), disposant d'une mémoire de 1 GB pour Inktomi et Altavista et le même type de machine sous Linux pour ht: //Dig.

Google

Google offre un programme SiteSearch qui permet d'indexer chez eux et gratuitement des sites universitaires. Quand on connaît la qualité du moteur Google c'est une approche à considérer. Nous l'avons fait en nous enregistrant dans le cadre de ce programme.

Au-delà d'un mail que nous avons reçu de Google qui nous a montré les limites de cette offre gratuite plusieurs commentaires s'imposent:

  1. Avec un peu moins de 95.000 pages Google ne voit qu'un petit tiers du site du domaine epfl.ch.
  2. Du point de vue du trafic réseau, c'est un véritable gâchis, puisque nous allons chercher aux US des informations, qui viennent du domaine epfl.ch.
  3. Notre critère d'ouverture n'est pas rempli puisque l'accès aux bases de données est impossible.
  4. L'outil, qui a priori doit satisfaire des besoins locaux et régionaux est soumis aux aléas des charges et pannes réseaux entre l'Europe et les Etats-Unis.

Ht://Dig

C'est un projet du GNU qui n'a pas comme prétention de rivaliser avec les grands moteurs du marché mais celle d'offrir une plate-forme de développement sur ce sujet à la communauté libre.

On dispose principalement de 3 binaires: htdig pour collecter les pages, htmerge pour les indexer et htsearch pour effectuer les recherches.

La configuration de ht://Dig se fait à la manière d'un serveur Apache au travers de directives.

Notre but était de mesurer la robustesse et les limites de l'outil, qui par ailleurs est très populaire dans le monde des Universités. Pour le site de l'EPFL nous avons mesuré une robustesse médiocre. HtDig s'arrête sans motif d'erreur apparent avec de gros problèmes quand il doit traiter des liens symboliques. Le temps d'une requête de recherche peut passer de quelques secondes à quelques dizaines de secondes.

Inktomi

Inktomi dans sa version 4.1 a comme base de développement Python 2.0. Cette version se caractérise par un meilleur support des bases de données et des fichiers XML.

La politique d'Inktomi en terme de licence d'évaluation est assez restrictive. Par défaut elle se trouve limitée à 25.000documents sans accès aux bases de données et pour un mois. Ces conditions étant trop restrictives pour un test grandeur nature, nous avons négocié une licence d'évaluation pour 350.000 documents et 10.000 enregistrements.

Avant toute chose, comme première étape, nous avons vérifié le bon comportement d'Inktomi vis à vis des frames, des documents PDF, doc, ps et du support des lettres accentuées.

Puis nous avons lancé Inktomi sur le site de l'EPFL dans la limite des 350.000 pages en lui demandant d'exclure tout CGI et URL du genre http://*/*?*. L'indexation des 300.000 pages indexées qui sont réparties sur environ 300 sites du domaine .epfl.ch a pris moins de 24 heures ce qui est une performance remarquable.

La pertinence de la recherche est conforme à l'attente de cette technique classique de recherche d'information. Notons qu'un menu de l'application d'administration permet de changer le poids d'un mot-clé quand il est présent par exemple dans un titre ou en lien. La présentation des résultats est claire avec un marquage en jaune des mots-clés trouvés, une indication du niveau de pertinence et un lien sur des pages similaires (fig. 2).

figure 2

L'interface de recherche avancée autorise la rédaction de demandes plus complexes en souhaitant ou obligeant la présence de mots-clés dans le titre, corps du texte, lien etc. avec ou non des limites de dates.

L'indexation d'enregistrements de bases de données passe par un préalable. Il faut, en tout premier lieu, établir une méthode d'accès entre le moteur et la base. Sur NT, cette méthode ou lien se fait au travers d'un driver ODBC (Open Database Connectivity) (fig. 3)

figure 3

Nous avons mené une expérience avec une base de données DB2/IBM sur une machine LINUX. Le point de départ est le menu Sources de données ODBC qui permet de donner un nom à cette méthode d'accès et de lui associer un driver (fig. 4). Une fois ce nom donné, on configure cette nouvelle interface en fournissant, dans le cas d'une base DB2, le protocole d'accès (TCP/IP) , le hostname, le port de communication (50000) et le nom de la base (SAMPLE).

figure 4

Ces renseignements donnés, on s'assure de la fonctionnalité de l'accès aux données en fournissant un username et un password.

A ce niveau, on peut passer à la configuration proprement dite du moteur en créant un nouvel index (dans cet exemple db2) que l'on va associer à la méthode d'accès FL définie plus haut (fig. 5)

figure 5

On précise le nom de la table avec laquelle on veut travailler, le nom des enregistrements sur lesquels nous allons faire des recherches (fig. 6).

figure 6

et l'usage que l'on fait de ces colonnes pour construire titre, description, mot-clé, date et URL (fig. 7)

figure 7

Une fois l'indexation faite on peut travailler sur l'index db2 et faire une recherche. Dans l'exemple que nous présentons ici, nous recherchons les enregistrements faisant apparaître le mot clé sales dans la table staff que nous avons reproduit ci-dessous. Le résultat présenté en fig. 8 est en accord avec ce que l'on en attend.

Source de la table Staff
db2 => select * from staff
IDNAME DEPTJOBYEARSSALARYCOMM
-------------------------------
10Sanders20Mgr718357.50-
20Pernal 20Sales 818171.25 612.45
30Marenghi38Mgr517506.75-
40O'Brien38Sales 618006.00 846.55
50Hanes15Mgr 1020659.80-
60Quigley38Sales-16808.30 650.25
70Rothman15Sales 716502.831152.00
80James 20Clerk -13504.60128.20
90Koonitz42Sales 618001.751386.70
100Plotz42Mgr718352.80-
110Ngan15Clerk 512508.20 206.60
120Naughton38Clerk -12954.75 180.00
130Yamaguchi42Clerk 610505.9075.60
140Fraye 51Mgr621150.00-
150Williams51Sales 619456.50637.65
160Molinare10Mgr722959.20-
170Kermisch15Clerk 412258.50110.10
180Abrahams38Clerk 312009.75236.50
190Sneider20Clerk 814252.75126.50
200Scoutten42Clerk -11508.6084.20
210Lu10Mgr 1020010.00 -
220Smith51Sales 717654.50992.80
230Lundquist51Clerk 313369.80189.65
240Daniels10Mgr519260.25-
250Wheeler51Clerk 614460.00513.30
260Jones10Mgr 1221234.00-
270Lea66Mgr918555.50-
280Wilson66Sales 918674.50811.50
290Quill84Mgr 1019818.00-
300Davis84Sales 515454.50806.10
310Graham66Sales1321000.00200.30
320Gonzales66Sales 416858.20844.00
330Burke66Clerk110988.0055.50
340Edwards84Sales717844.001285.00
350Gafney84Clerk513030.50188.00

35 record(s) selected.

Altavista

Altavista est un société pionnière dans le marché des moteurs de recherche. C'est d'ailleurs cette solution qui avait été retenue en 97 pour le site de l'EPFL.

Nous avons obtenu d'Altavista une licence test limitée dans le temps mais sans restriction sur le nombre et la nature des documents à indexer.

Comme pour Inktomi, vérification des fonctionnalités de base (frames, fichiers doc, PDF, ps et traitement des accents) du moteur: le résultat est conforme à nos attentes.

Comme deuxième étape, le moteur a été lancé sur le site avec comme une seule règle celle d'exclure les url contenant /cgi-bin. Au bout d'un peu plus de trois jours d'activité le moteur a indexé environ 360.000 pages comme l'indique la fig. 9. Nous pouvons constater une forte présence des documents au format PDF qui sont convertis avec un taux de réussite de 94%. Ce taux est le plus bas que nous ayons enregistré par rapport aux autres formats doc, ps et autres qui sont de l'ordre de 98% à 100%. Nous avons constaté des ratés du moteur quand nous effectuions des tâches d'administration sur le serveur apparemment sans lien avec l'activité d'Altavista.

figure 9

Sur la figure 10, voici un exemple de recherche simple où il est demandé des documents comptant dans leur titre des références aux programmes prioritaires.

Altavista dispose d'une interface pour des recherches plus avancées au travers d'opérateurs booléens (fig. 11).

Comme dans le cas d'Inktomi, la configuration du moteur pour collecter des enregistrements de bases de données passe par une série de menu où l'on va préciser la référence ODBC, le nom de la base, le user/password de connexion, la table et les enregistrements qui vont faire l'objet de recherche.

figure 10

Décision

Au terme de cette étude le comité de pilotage du projet e-pfl s'est porté sur le choix d'Inktomi (version 450.000 documents) pour les raisons suivantes:

  1. Robustesse irréprochable, des petits signes inquiétants chez Altavista;
  2. Indexation 2 à 3 fois plus rapide;
  3. Pertinence, rapidité et présentation des résultats de la recherche meilleures;
  4. Interface d'administration simple mais poussée qui contrairement à celle d'Altavista n'a pas besoin d'un environnement Java dernier cri;
  5. Environnement de développement Python très favorable pour l'évolution du produit;
  6. Possibilité d'ajouter au moteur un module Inktomi/CCE (Content Classification Engine) qui peut être une aide précieuse pour classifier des documents.

L'indexation d'une page a un coût, nous voulons éviter une mise à jour de notre licence de 450.000pages dans six mois. Nous avons, dans un premier temps, décidé d'indexer tout le site pour ne garder dans un second que l'essentiel en évitant les informations redondantes (man page, la demande man javac donne plus de 6000 documents) ou inutiles (par exemple indexation de certains sites hôtes). Vous pouvez nous aider en nous indiquant les pages que vous ne voulez pas indexer ou/et en faisant usage du fichier robots.txt (www.robotstxt.org ).

figure 11

Futur et veille technologique

Le 6 mars 2001 Sun annonce l'acquisition d'InfraSearch, une société spécialisée dans la recherche d'information sur la base d'une approche peer-to-peer.

Comme Gnutella, InfraSearch se fonde sur une architecture complètement distribuée. Ce nouveau type de moteur n'effectue pas lui-même la recherche et la récupération de l'information, il ne fait que transmettre les requêtes formulées par l'utilisateur aux systèmes qui lui sont connectés, qui eux-mêmes les répercutent à leurs voisins sur le réseau. Chaque hôte recevant la requête a la responsabilité totale d'effectuer lui-même la recherche sur son propre système et de renvoyer ensuite à InfraSearch les infos jugées pertinentes. Avantage: en étant traitée par un hôte «spécialiste», une requête obtiendra des données plus pointues qu'avec un moteur de recherche généraliste. Cette technique permet aussi de décharger le serveur central des ressources mobilisées pour entretenir et indexer les bases de données obèses des moteurs de recherche classiques. La distribution des temps de calculs sur l'ensemble du Net s'en trouve optimisée. En outre, la recherche est dynamique: elle ne s'effectue pas sur la base de données interne du moteur de recherche mais sur le Web lui-même. Résultat, les réponses sont de toute fraîcheur.

Fidèles à l'esprit Gnutella, les concepteurs d'InfraSearch affirment ne pas avoir pour l'instant de projet de commercialisation. Mais les performances plus qu'honorables pour une version beta devraient donner des idées à d'autres. A suivre.


retour au sommaire du Flash informatique du mois de septembre 2001
retour à la page principale des Flash informatique
Vos commentaires
© FI-7-1 du 18 septembre 2001