Comparaison des architectures Solr et Elasticsearch

Les systèmes Solr et Elasticsearch se comportent de la même manière au niveau de la vitrine. Derrière cette couche se cachent certaines différences clés dans l'architecture.

Architecture de recherche Solr

Le serveur de recherche Solr se compose d'un ensemble de services REST, d'une structure d'exécution de recherche qui réutilise le modèle de programmation de recherche Solr et d'un ensemble de services de base HCL Commerce qui donnent également accès à la base de données HCL Commerce.

Le diagramme suivant montre l'architecture du serveur de recherche Solr :

Diagramme d'interaction de recherche

Les services Ingest et Query version 9.1

Le processus d'interrogation Elasticsearch est structuré de manière très similaire au service Solr. La principale différence réside dans l'architecture de microservice du système, et dans les sorties vers les fonctions administratives d'Elasticsearch et de ZooKeeper, plutôt que vers Solr et le serveur de recherche monolithique.

L'un des plus grands avantages du service Query 9.1 est son traitement du langage naturel et la prise en charge des outils. Solr ne dispose pas de ces fonctions qui offrent des performances supplémentaires considérables. Pour plus d'informations, voir Traitement du langage naturel (NLP) dans la version 9.1.

Comparaison de l'architecture de déploiement Solr et Elasticsearch

Il existe certaines différences d'architecture de déploiement entre la solution de recherche HCL Commerce basée sur Solr et la solution de recherche HCL Commerce basée sur Elasticsearch. Contrairement à Solr, la solution de recherche HCL Commerce basée sur Elasticsearch contient un environnement de données commun. Elle offre les avantages suivants :
  • Elle permet le partage de capacité.
  • Elle dissocie les données indexées à partir du service de requête pour permettre la mise à l'échelle de chaque service de façon indépendante.
  • Elle utilise le cluster d'index pour permettre une mise à l'échelle dynamique.
  • Elle fragmente l'index et utilise la recherche distribuée au moment de la requête.
En plus de l'environnement de données commun, certains nouveaux composants tels que le pipeline d'indexation, NLP et le bus d'événements ont été ajoutés à la solution de recherche HCL Commerce basée sur Elasticsearch.

Le tableau suivant décrit les principales différences entre l'architecture de déploiement Solr et Elasticsearch :

Important: Dans le tableau suivant, x indique le paramètre de mise à l'échelle dans lequel vous pouvez déployer d'autres instances.
Nom du service Solr Elasticsearch
Magasin (Environnement de création) x1 (Serveur) x1 (Web ou serveur)
Transaction (Environnement de création) x1 x1
Search (Environnement de création) x1 (Maître) x1 (Query)
Magasin (Environnement opérationnel) x1 x1 (Web ou serveur)
Transaction (Environnement opérationnel) x1 x1
Search (Environnement opérationnel) x1 (Répéteur), x3 (Esclave) x3 (Query)
Ingest (partagé) Non applicable x1 (NiFi)
Données (partagé) Non applicable Cluster Elasticsearch
Bus d'événements (partagé) Non applicable x1 (Redis)