microworks - Fotolia
Moteur de recherche : Manticore Search se veut plus rapide qu’ElasticSearch
Projet Open Source censé être à la fois peu cher, rapide et européen, Manticore Search se greffe à un grand nombre de bases de données contenant du texte ou des images.
Doté d’une ressemblance troublante et du même prénom que le fameux « Professeur » de la Casa de Pappel, Sergey Nikolaev est le CEO de Manticore Search, une entreprise qui a développé un moteur de recherche Open Source aux performances assez exceptionnelles. L’une de ses principales caractéristiques est sa capacité à gérer toutes sortes de données, et ce, dans des formats très divers.
À l’origine, il s’agit du projet Sphinx créé en 2001 et qui va rapidement se bâtir une bonne réputation en matière de rapidité dans la recherche. Cependant, comme beaucoup de projets de même type, des divergences au sein de l’équipe vont conduire à l’arrêt du développement à partir de l’année 2016. Ne souhaitant pas abandonner, Sergey et son équipe (avec Peter Zaitsev et Mindaugas Zukas comme co-fondateurs) créent Manticore Search.
Sergey Nikolaev précise : « les points de blocage que nous avions à résoudre par rapport aux solutions existantes étaient des requêtes lentes, une forte consommation de ressources, des problèmes d’élasticité, des requêtes complexes, l’absence de support SQL et des difficultés de configuration comme de maintenance. » LeMagIT l’a rencontré dans le cadre d’un événement IT Press Tour consacré aux entreprises européennes qui innovent en matière de données.
Dès lors, la nouvelle mouture devait répondre à plusieurs objectifs : maintenir un projet Open Source vivant, prendre en charge de nouvelles technologies, faciliter la configuration et l’usage à l’aide de matériels abordables, afin de réduire les coûts, s’intégrer facilement avec les outils et bases de données les plus répandues et enfin, améliorer les performances dans des configurations très larges en termes d’échelle.
Développé en C++ pour plus de rapidité
La plateforme supporte SQL, MySQL, JSON ainsi que les clients PL. Elle propose plusieurs modes de configuration et de stockage en RAM ou au-delà (baies de stockage). Contrairement à ElasticSearch qui domine le marché et qui est écrit en Java, Manticore Search a été développé principalement à partir du langage C++, bien plus puissant et qui explique en partie les différences de performances entre les deux plateformes. Manticore dispose de capacités de recherche dites « plein texte » avec plus de 20 opérateurs et dispositifs de classement, ce qui, selon M. Nikolaev, est plus que n’importe quelle autre application similaire.
Manticore est capable d’effectuer des recherches sur du texte, mais aussi des images. Selon le site db-benchmarks.com qui analyse les performances, Manticore surpasse ElasticSearch dans des facteurs de 2 à 50 selon les types de recherches, avec un facteur moyen de 6, et ce, quelle que soit la taille des jeux de données analysés. Les situations sont identiques avec d’autres applications comme Meilisearch ou Typesense. C’est également le cas avec des bases de données comme MySQL ou PostgreSQL, bien que ces bases de données ne soient pas des outils similaires.
Le logiciel est intégralement Open Source selon les termes de la licence OSI-approved et accessible à tous sur GitHub. Parmi les clients figurent Craigslist, Rozetka, les plateformes de Data Intelligence Socialgist, Clarivate et Statista, le moteur de recherche d’emploi Learn4good, les sites de voyage Europarcs et HotelPlan, ou encore l’agence immobilière Huispedia.
« Manticore offre des performances impressionnantes lorsqu’il travaille avec MariaDB, améliorant notamment les temps de réponse pour bon nombre de nos appels de recherche géographique et de recherche en texte intégral. Grâce à ses fonctionnalités exceptionnelles, je donnerais à mon expérience globale une note parfaite de 10 sur 10 », témoigne Dave Minogue, directeur technologique de New Spark Media, autre société cliente.
Au total, l’entreprise revendique environ 200 clients et affirme réaliser un chiffre d’affaires très faible, soit 1 à 2 millions de dollars, selon les estimations du MagIT.
Vers une version SaaS
Pour l’année à venir, Manticore veut s’attaquer à plusieurs améliorations. La première est le partitionnement automatique des bases de données. La seconde est l’authentification afin d’améliorer la sécurité. Ensuite vient l’intégration avec Kibana, l’outil de visualisation d’ElasticSearch. Enfin, le dernier point est l’intégration automatique pour la recherche vectorielle, une fonction essentielle dans les applications d’IA et également un domaine dans lequel Manticore veut résolument se positionner.
Le modèle économique repose sur le support que l’entreprise peut apporter pour la mise en place et la configuration de la plateforme, ou encore au travers du développement de nouvelles fonctions spécifiques. Toutefois, afin d’assurer un développement économique plus pérenne, la plateforme s’oriente vers la commercialisation de Manticore en mode SaaS, soit au travers de ce que M. Nikolaiev appelle « une interface as-a-Service », soit au travers d’un cloud intégralement géré par Manticore et dans lequel les utilisateurs n’auront qu’à se préoccuper de la recherche.
Bien que l’entreprise assure être financièrement autosuffisante, elle est également à la recherche de capitaux afin de mettre en place cette plateforme SaaS. Sergei Nikolaev précise cependant que « ce partenaire doit être aligné avec notre positionnement et notre vision autour de l’Open Source. »
L’un des défis auquel est confronté l’éditeur est aujourd’hui sa faible visibilité de la part du marché. Sergey Nikolaev le reconnaît sans ambages : « nous disposons de solides compétences techniques, mais sommes très faibles en marketing ».