Qwant : les secrets techniques du moteur de recherche français

Qwant : les secrets techniques du moteur de recherche français Après avoir bien avancé l'indexation du Web français, le moteur commence à se lancer à l'international. Notamment basée sur Hadoop, sa plateforme est en passe de dépasser le Po.

Officiellement lancé en juillet dernier, Qwant entend proposer une approche en rupture avec celle de Google. Son algorithme, classant les résultats à faire remonter par ordre d'importance, se base notamment sur le contexte social des contenus, c'est-à-dire l'activité qu'ils ont générée sur Twitter, Facebook, Google+ et LinkedIn notamment. "Dans le cas d'un blog de niche très tweeté, vous pourrez ainsi être repris chez nous, mais pas forcément par Google News", argue Eric Leandri, directeur général et cofondateur de Qwant.

Hadoop au cœur de la plateforme de Qwant

Pour construire sa plate-forme, Qwant a opté pour plusieurs technologies Big Data. Elle s'adosse d'abord à un cluster basé sur une infrastructure Hadoop, avec à la clé son système de gestion de base non-relationnelles Hbase (écrit en Java) avec un stockage structuré adapté aux grandes tables. A cette brique, le moteur de recherche associe Hive : un logiciel d'analyse de données permettant d'utiliser Hadoop avec une syntaxe proche du SQL.

qwant
Vue de l'intérieur du data center de Qwant, situé à Aubervilliers près de Paris. Deux autres centres de données seront très prochainement ouverts à l'étranger. © Qwant

La plateforme Hadoop intervient en amont, pour accueillir les données de crawl. En complément, MongoDB est utilisée pour stocker les données non-structurées (photos, PDF...). Au total, 300 à 400 To sont collectés pour les plus grands pays sur lesquels Qwant s'est positionné : la France, l'Allemagne et l'Angleterre. "Au total, nous couvrons 15 langues et 25 pays", ajoute Eric Leandri. Une fois les données crawlées, le noyau du moteur, écrit en C/C++, passe ensuite à l'action pour créer l'index : un fichier plat en Json qui pèse déjà plusieurs To.

Là encore, la R&D de Qwant a décidé de se démarquer de Google. A la différence de son concurrent, le moteur ne cherche pas à reprendre l'intégralité d'une page web, mais en réalise une synthèse. Il considérera un sujet comme un objet, qui peut apparaitre sur les réseaux sociaux, être repris dans les journaux et blogs, puis de nouveau relayé par les médias sociaux... Un objet pouvant être lié à d'autres. "Nous avons pour l'instant indexé 1,4 milliard d'objets correspondant à des personnes", note Eric Leandri. 

 

Un cache SSD orchestré par la technologie RocksDB de Facebook

A chaque pays intégré, le processus est clairement défini. En premier lieu, le moteur se concentre sur le "ranking social" en scrutant les pages publiques des réseaux sociaux, avec en toile de fonds des techniques de machine learning pour réduire le "bruit social". Il se base ensuite sur cette première analyse des thèmes les plus dynamiques sur les réseaux sociaux pour classer les actualités correspondantes publiés sur les blogs et sites de presse. Et pour finir, il élargit l'indexation au contenu web du pays tout entier.

En aval, Qwant mise sur RocksDB pour optimiser les performances d'accès des internautes. Une infrastructure open source, issue des laboratoires de Facebook en novembre dernier, qui lui permet de créer une base de données (de l'ordre du Po) en cache exécutée en mémoire, notamment pour l'index. A cela s'ajoute 4 To de mémoire Ram exécutée en Flash. Les résultats sont là. En termes de trafic, Qwant enregistre 8 millions de requêtes par jour, avec des pics à 12 millions.

VMware préféré à Xen pour la virtualisation serveur

Pour faire face à sa montée en charge, la société est en train de se doter de centres de données dans deux autres pays européens. Jusqu'ici, ses serveurs se limitaient à un data center unique (à Aubervilliers prés de Paris). L'infrastructure système sous-jacente ? Elle s'adosse sur des serveurs matériels du marché, raccordés par un réseau en fibre optique. Une pile sous Linux a été dessinée pour supporter la plateforme, et la technologie VMware choisie pour la virtualisation des serveurs. "Xen ne convient pas pour gérer de fortes volumétries, notamment pour la gestion d'application en mémoire. D'où le choix de nous tourner vers VMware", explique Eric Leandri.

Des filtres pour affiner une recherche

Après avoir lancé une première phase d'indexation initiée l'été dernier, l'équipe technique de Qwant, qui compte une vingtaine de personnes (épaulées par environ 20 intervenants extérieurs de plus), se concentre désormais sur l'optimisation des fonctionnalités du moteur. Un travail qui passe par une démarche d'A/B testing poussée. Qwant se concentre en particulier sur la définition d'une politique de filtres visant à affiner la recherche en proposant à l'internaute des sous-requêtes plus précises (voir l'illustration ci-dessous).

qwant 2
Lors de la saisie du terme "JDN" dans Qwant, le moteur de recherche propose en colonne de droite une série de sous-requêtes permettant d'affiner sa recherche : ici, JDN peut en effet vouloir dire Journal du Net, mais aussi Joint Data Network - qui correspond à un ancien réseau de défense américain. © Capture JDN