Typesense : on a testé ce moteur de recherche très prometteur

Publié le 30 janvier 2024
3 minutes de lecture
Image de Damian Zaleski sur Unsplash

Le Lab d’OpenStudio vous propose son compte rendu d’utilisation du moteur de recherche Typesense. Un moteur de recherche émergent, innovant et prometteur dont nous suivons les évolutions avec attention. Cet article passera en revue ses fonctionnalités, ses forces et ses axes d’amélioration.

Typesense est un moteur de recherche open source au fonctionnement instantané. Créé par une équipe dirigée par Jason Bosco et Kishore Nallan, deux ingénieurs logiciels expérimentés, Typesense a pour objectif de proposer un système à la fois rapide et facile à utiliser ainsi qu’à déployer. Il a été conçu pour répondre aux limitations perçues dans d’autres solutions de recherche actuelles sur le marché, comme ElasticSearch et Algolia. Le projet a bénéficié des contributions d’une communauté croissante de développeurs qui continuent d’enrichir et d’améliorer le logiciel.

Les fonctionnalités de Typesense

Écrit majoritairement avec le langage de programmation C++, Typesense offre plusieurs fonctionnalités clés :

  • La tolérance aux fautes d’orthographe ;
  • Le classement ajustable des résultats ;
  • La gestion des synonymes ;
  • La création de clés API multi-locataires ;
  • Le tri dynamique ;
  • Le regroupement et la distinction des résultats ;
  • Le filtrage et le facettage.

Il offre également la possibilité d’effectuer des recherches géographiques, des recherches fédérées (sur plusieurs collections), et des recherches sémantiques qui vont comprendre le sens des mots basées sur des modèles de machine learning. Typesense est facile à déployer ainsi qu’à utiliser, et offre une expérience développeur « batteries-included »​​.

« Typesense est plutôt intéressant de par son aspect open source premièrement, mais aussi vu sa faible consommation des ressources système, sa rapidité et sa facilité de mise en place à l’installation ou à l’indexation. »

Adrien Bérard, Développeur Back chez OpenStudio

Le fonctionnement de Typesense

À la différence des moteur de recherche grand public, comme Google ou Bing, Typesense ne « récupère » pas de données, mais permet aux utilisateurs de pousser leurs propres données pour ensuite les rendre « recherchables » via une interface utilisateur dans leur site ou application. Typesense fonctionne grâce à un système de « collection » à créer puis à compléter par l’importation de documents. Une collection dans Typesense est un groupe de documents liés, et le « schéma » de la collection vient définir les champs des documents qui seront indexés en mémoire.
Typesense utilise une API RESTful intuitive pour toutes ces opérations, rendant l’expérience de développement plus fluide.

Pourquoi utiliser Typesense et quelles sont ses limites ?

Typesense présente plusieurs avantages qui le rend intéressant pour la conception d’applications nécessitant des recherches rapides et efficaces. Sa capacité à être « clusterisé » facilite la communication entre les serveurs, permettant ainsi une meilleure répartition des charges et une fiabilité accrue. L’un des principaux atouts de Typesense est donc sa rapidité, offrant des temps de réponse généralement inférieurs à 50 ms pour les recherches, ce qui est crucial pour obtenir des réponses instantanées sur une application. Il est également reconnu pour sa facilité d’indexation et sa légèreté, le rendant moins gourmand en termes de ressources par rapport à d’autres solutions de recherche plus lourdes comme ElasticSearch.

Cependant, en 2023 Typesense est une solution qui pêche encore à certains égards par manque de maturité. En étant nouveau sur le marché, il souffre encore de bugs et d’une stabilité moindre par rapport à des solutions de recherche établies depuis longtemps. De plus, sa communauté d’utilisateurs et de contributeurs, bien que croissante, est encore petite comparée à celle d’autres moteurs de recherche, ce qui peut limiter les aides communautaires et le partage de connaissances entre les utilisateurs. Malgré ces défis, Typesense continue d’évoluer et de s’améliorer, se positionnant comme une option viable et performante que nous étudions de très près chez OpenStudio pour nos futurs projets.

Sources :