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 :

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
- 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.
Le tableau suivant décrit les principales différences entre l'architecture de déploiement Solr et Elasticsearch :
| 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) |