close

Découvrez nos offres pour faire du digital le levier de votre croissance !

download
Modèles

Téléchargez le Guide Ultime de gestion de projet digitale pour vous aider à piloter vos transformations et faire les bons choix !

Image mise en avant pour l'article

ElasticSearch ou SolR pour votre moteur de recherche ?

13 décembre 2018
Vous mettez en place votre moteur de recherche, mais vous hésitez ? Laissez-nous vous présenter deux moteurs de recherche internes et open source : ElasticSearch et Apache SolR. De prime abord, ils présentent les mêmes fonctionnalités et ont sensiblement les mêmes performances... C'est ce qu'ils nous font croire, en tout cas. Si vous souhaitez choisir l'un de ces deux moteurs de recherche, nous allons vous aider !


L'importance d'un bon moteur de recherche interne pour un site web, un intranet et plus encore un site E-commerce n'est plus à démontrer. C'est de lui que dépendent en grande partie l'engagement, la conversion, la qualité et le ressenti des visiteurs.

Si vous êtes  dans un processus de mise en place d'un nouveau site, de refonte d'un site existant, ou si vous êtes confronté à la fin de Google Search Appliance, quel outil choisir ? Quels sont les critères à privilégier ? Coût, facilité d'intégration, pertinence ?

Deux solutions sont notamment en lice pour votre moteur de recherche interne : ElasticSearch, et Apache SolR. Quels sont les origines, avantages, et inconvénients de chacune ? Voici quelques éléments de réponse argumentés.

N'hésitez pas non plus à aller consulter notre article sur les solutions Saas de recherche, qui offrent aussi bien des réponses intéressantes.

 

SolR et ElasticSearch, deux solutions nées d'un même projet : Lucène

SolRetElasticSearchParadoxalement, ces deux solutions souvent mises en compétition sont issues... d'une origine commune. Toutes les deux sont nées de "Lucène", une bibliothèque open source qui permet d'indexer et de chercher du texte. Il n'y a pratiquement pas aujourd'hui une grande entreprise dans le monde qui n'utilise pas l'une ou l'autre de ces deux solutions, de Renault en passant par General Motors ou encore Blablacar. Mais elles diffèrent sur quelques points importants. 

SolR possède l'avantage de l'ancienneté, car cette solution existe depuis 2004. ElasticSearch n'a vu le jour qu'en 2010, mais elle est adossée à une société, Elastic. Elle dispose donc naturellement d'un support et d'hébergement en mode SaaS si besoin. Toutefois, SolR peut disposer aussi de cette facilité, si l'on fait appel à la société LucidWork qui la propose.

On le voit donc d'entrée : il ne sera pas facile de départager ces 2 solutions. D'ailleurs, comme souvent, il ne s'agira probablement pas pour vous de déterminer la meilleure solution dans l'absolu, mais plutôt celle qui répondra le mieux à vos besoins, à votre contexte et à vos usages.

 

Quelques clés pour la décision entre ElasticSearch et SolR

Sans entrer dans des considérations techniques trop complexes, on peut lister quelques critères de décision qui doivent orienter votre choix.

 

1. Popularité et accessibilité d'ElasticSearch : un avantage en comparaison avec SolR

ElasticSearch est la solution la plus populaire des deux. Elle le doit notamment à son éditeur qui dispose de capacités marketing et communication plus performantes. Ce sont plusieurs millions d'euros qui vont être consacré à son développement dans les prochaines années. Elle bénéficie en conséquence d'une meilleure documentation, plus facile d'accès, même pour les non techniciens et d'API plus développées qu'avec SolR. Une personne qui n'est pas familiarisée avec les problématiques de la recherche appréciera ce point.

Popularité ElasticSearch vs. SolR

En bleu le volume de recherche Elasticsearch sur Google vs. SolR

Apache SolR dispose elle d'une large communauté "open source", ce qui peut-être un atout dans certains cas. La documentation technique est fouillée, mais sans doute moins accessible que pour Elastic qui a vocation à s'adresser à un public qui n'est pas nécessairement expert des questions de recherche.

 

2. Performances et vitesse : ex-aequo pour SolR et ElasticSearch

La vitesse d'indexation et de réponse étant l'un des facteurs clé d'un bon moteur de recherche, il est important de s'assurer de la performance de celui-ci. Beaucoup de tests ou d'articles ont été publiés sur Internet à ce sujet. Elastic est sans doute un peu mieux adapté pour rechercher rapidement des données qui évoluent fréquemment, tandis que SolR est plus efficace dans des entrepôts de données plus statiques. Elastic est aussi plus adapté, nativement, pour une montée en charge rapide en cas de besoin. C'est ce que l'on nomme la "scalabilité". Du fait de sa conception, SolR ne le permet qu'avec le recours au logiciel "Zookeeper". Mais l'objectivité oblige à reconnaître que les deux solutions ne peuvent être départagées sur ce critère. Elles offrent un haut niveau de performance, et sont équivalentes pour peu qu'on les mette en œuvre dans les règles de l'art, sur une architecture bien dimensionnée.

Par ailleurs, les offres Saas proposées par Elastic ou LucidWork apportent des réponses intéressantes pour garantir une montée en charge efficace.

 

3. Fonctionnalités : quelques différences entre Elasticsearch et SolR

Vous voulez comparer les fonctionnalités d'ElasticSearch et SolR pour espérer choisir le meilleur  moteur de recherche open source ? Elles sont assez proches... Ce qui est dû à leur origine commune, mais aussi au fait que la recherche interne obéit à une logique universelle. Les deux proposent des fonctions de vérification orthographiques, une gestion des synonymes, d'expressions exactes, de recherches boléennes, des fonctions de racinisation, de la recherche plein texte, l'agrégation des facettes... Les deux proposent des outils de machine learning, avec toutefois quelques différences d'approches : SolR embarque ainsi le projet Open NLP permettant de traiter le langage naturel, tandis qu'Elastic propose un composant dédié de machine learning capable de détecter et d'analyser en temps réel des anomalies.

Difficile, quand on n'est pas un expert avancé des solutions de recherche, d'identifier des réels avantages ou discriminants qui s'appliqueraient pour tous les projets. Néanmoins, on peut considérer SolR comme étant plus adapté à des contextes de recherche dans de larges silos de données non structurées, peu vivantes, tandis qu'Elastic fait merveille dans l'analyse de données en temps réel et plutôt structurées.

 

Comment choisir alors entre Apache SolR et ElasticSearch ?

Une comparaison possible est : "SolR est comme Linux, Elastisearch est comme Windows". Vous pouvez adapter plus facilement SolR à vos besoins, mais cela vous demandera plus de travail et plus de temps. Elasticsearch est rapide et facile à déployer, utiliser et mesurer. Si vos équipes n'ont pas de compétence particulière sur ces technologies, Elastic sera beaucoup plus simple à appréhender grâce à ses nombreuses API et ses outils natifs de clustering.

Elasticsearch est plutôt plus adapté à des contextes d'exploration de données structurées, en temps réel. Elastic, avec Kibana vous offre par ailleurs des outils intéressants de restitution graphique et analytiques de vos données. SolR sera plus adapté quand vous aurez besoin d'indexer des données plus statiques et moins structurées.

Le futur des moteurs de recherche se situe désormais dans l'analyse des contenus, les modèles prédictifs, l'analyse du langage naturel et le machine learning. Elastic et SolR avancent tous les deux sur ces sujets très vite, avec des points de différenciation qui deviennent discriminants. Affaire à suivre ! ... 

 

 

Image mise en avant pour l'article
Adimeo
Searchandising : augmentez vos ventes grâce à un moteur de recherche interne !
Télécharger l'e-book
Les équipes Adimeo sont certifiées Opquast !
Chefs de projet, développeurs web, équipes avant-vente ... Nos experts veulent le meilleur pour vous et votre projet !
Parlez-nous de votre projet
Pourquoi s'abonner à
notre newsletter ?
Pour recevoir tous les mois, un condensé de contenus utiles et pertinents pour votre transformation digitale !