Prérequis du moteur de recherche
Depuis Adobe Commerce 2.4, toutes les installations doivent être configurées pour utiliser Elasticsearch ou OpenSearch comme solution de recherche de catalogue.
Versions prises en charge
Vous devez installer et configurer Elasticsearch ou OpenSearch avant d’installer Adobe Commerce 2.4.4 et versions ultérieures.
Pour plus d’informations sur les versions spécifiques, voir la Configuration requise .
Configuration recommandée
Nous vous recommandons ce qui suit :
Emplacement d’installation
Les tâches suivantes supposent que vous avez configuré votre système selon le diagramme suivant :
Le diagramme qui précède affiche :
-
L’application Commerce et le moteur de recherche sont installés sur différents hôtes.
L’exécution sur des hôtes distincts nécessite un proxy pour fonctionner. (La mise en grappe du moteur de recherche va au-delà de ce guide, mais vous trouverez plus d’informations dans la documentation sur la mise en grappe des Elasticsearch.)
-
Chaque hôte possède son propre serveur web ; les serveurs web ne doivent pas nécessairement être les mêmes.
Par exemple, l’application Commerce peut exécuter Apache et le moteur de recherche peut exécuter nginx.
-
Les deux serveurs web utilisent TLS (Transport Layer Security).
La configuration de TLS dépasse la portée de notre documentation.
Les requêtes de recherche sont traitées comme suit :
-
Une requête de recherche d’un utilisateur est reçue par le serveur web Commerce, qui la transfère au serveur du moteur de recherche.
Vous configurez le moteur de recherche pour qu’il se connecte à l’hôte et au port du proxy. Nous vous recommandons le port SSL du serveur web (par défaut, 443).
-
Le serveur web du moteur de recherche (écoute sur le port 443) envoie une requête par proxy au serveur du moteur de recherche (par défaut, il écoute sur le port 9200).
-
L’accès au moteur de recherche est protégé par l’authentification HTTP de base. Pour qu’une demande atteigne le moteur de recherche, il doit passer par le protocole SSL et fournir un nom d’utilisateur et un mot de passe valides.
-
Le moteur de recherche traite la requête.
-
La communication renvoie le même itinéraire, le serveur web Elasticsearch agissant comme un proxy inverse sécurisé.
Conditions préalables
Les tâches abordées dans cette section nécessitent les éléments suivants :
Pare-feu et SELinux
Les logiciels liés à la sécurité (iptables, SELinux, AppArmor) peuvent être configurés par défaut pour bloquer la communication entre les sous-systèmes. C'est peut-être une bonne idée de les vérifier s'il y a des problèmes.
Configuration de règles pour iptables et SELinux
Pour configurer des règles permettant la communication avec le pare-feu ou SELinux activé, consultez les ressources suivantes :
Installation du Java Software Development Kit
Pour déterminer si Java est déjà installé, saisissez la commande suivante :
java -version
Si le message java: command not found
s’affiche, vous devez installer le SDK Java comme décrit dans la section suivante.
Consultez l’une des sections suivantes :
Installation du JDK sur CentOS
Consultez ce tutoriel sur les océans numériques.
Veillez à installer le JDK et pas le JRE.
yum -y install java-1.8.0-openjdk
Installation du JDK sur Ubuntu
Pour installer JDK 1.8 sur Ubuntu, saisissez les commandes suivantes en tant qu’utilisateur disposant des privilèges root
:
apt-get -y update
apt-get install -y openjdk-8-jdk
Pour plus d’informations sur les autres options, reportez-vous à la documentation sur l’Oracle.
Installation du moteur de recherche
Suivez Installation de l’Elasticsearch ou Installation et configuration d’OpenSearch pour les étapes spécifiques à votre plateforme.
Pour vérifier que l’Elasticsearch fonctionne, saisissez la commande suivante sur le serveur sur lequel il s’exécute :
curl -XGET '<host>:9200/_cat/health?v&pretty'
Un message similaire au suivant s’affiche :
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks
1519701563 03:19:23 elasticsearch green 1 1 0 0 0 0 0 0
Pour vérifier que OpenSearch fonctionne, saisissez les commandes suivantes :
curl -XGET https://<host>:9200 -u 'admin:admin' --insecure
curl -XGET https://<host>:9200/_cat/plugins?v -u 'admin:admin' --insecure
Mise à niveau d’Elasticsearch
Pour obtenir des instructions complètes sur la sauvegarde de vos données, la détection des problèmes de migration potentiels et le test des mises à niveau avant le déploiement en production, reportez-vous à la section Mise à niveau d’Elasticsearch . Selon votre version actuelle d’Elasticsearch, un redémarrage complet de la grappe peut être nécessaire ou non.
Elasticsearch requiert JDK 1.8 ou version ultérieure. Voir Installation du Java Software Development Kit pour vérifier quelle version de JDK est installée.
Ressources supplémentaires
Consultez la documentation Elasticsearch ou OpenSearch.