Conditions préalables relatives aux moteurs 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.
Reportez-vous à la section Configuration requise pour obtenir des informations de version spécifiques.
Configuration recommandée
Nous recommandons ce qui suit :
Emplacement d’installation
Les tâches suivantes supposent que vous ayez configuré votre système en fonction du diagramme suivant :
Le diagramme précédent montre :
-
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 le fonctionnement d’un proxy. (La mise en cluster du moteur de recherche ne fait pas partie de ce guide, mais vous trouverez plus d’informations dans la documentation sur la mise en cluster d’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 nginx.
-
Les deux serveurs web utilisent TLS (Transport Layer Security).
La configuration de TLS dépasse le cadre de notre documentation.
Les demandes 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 transmet 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 recommandons le port SSL du serveur web (par défaut, 443).
-
Le serveur web du moteur de recherche (qui écoute sur le port 443) envoie par proxy la requête au serveur du moteur de recherche (par défaut, il écoute sur le port 9200).
-
L’accès au moteur de recherche est également protégé par l’authentification HTTP de base. Pour qu'une requête atteigne le moteur de recherche, il doit passer par SSL et fournir un nom d'utilisateur et un mot de passe valides.
-
Le moteur de recherche traite la demande.
-
Les retours de communication s’effectuent le long du même itinéraire, le serveur web Elasticsearch agissant comme proxy inverse sécurisé.
Conditions préalables
Les tâches décrites dans cette section nécessitent les éléments suivants :
Firewall 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. Il serait peut-être bon de les vérifier s'il y a des problèmes.
Configurer des règles pour iptables et SELinux
Pour configurer des règles permettant d’autoriser la communication avec le pare-feu ou SELinux activé, consultez les ressources suivantes :
Installation du kit de développement logiciel Java
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 Java SDK comme décrit dans la section suivante.
Consultez l’une des sections suivantes :
Installation du JDK sous CentOS
Voir ce tutoriel sur l’océan numérique.
Veillez à installer le JDK et pas l’environnement 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 de droits d’root
:
apt-get -y update
apt-get install -y openjdk-8-jdk
Pour d’autres options, consultez la documentation Oracle.
Installation du moteur de recherche
Suivez Installation d’Elasticsearch ou Installation et configuration d’OpenSearch pour connaître les étapes spécifiques à votre plateforme.
Pour vérifier qu’Elasticsearch fonctionne, saisissez la commande suivante sur le serveur sur lequel il est exécuté :
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
Consultez la section Mise à niveau d’Elasticsearch pour obtenir des instructions complètes sur la sauvegarde de vos données, la détection de problèmes de migration potentiels et le test des mises à niveau avant le déploiement en production. Selon la version d’Elasticsearch que vous utilisez, un redémarrage complet du cluster peut être requis.
Elasticsearch nécessite JDK 1.8 ou une version ultérieure. Consultez Installation du kit de développement logiciel Java pour vérifier quelle version du JDK est installée.
Ressources supplémentaires
Voir la documentation Elasticsearch ou OpenSearch.