Comment configurer Elasticsearch dans Magento 2

Publié: 2022-12-20

Table des matières

La plate-forme Magento a ouvert une excellente opportunité aux propriétaires d'entreprise de lancer leurs magasins avec moins de limitations et une plus grande flexibilité. Il peut y avoir des milliers de produits dans de nombreuses catégories et sous-catégories dans un magasin, et généralement, le temps que les clients passent à rechercher les produits a tendance à être bref. Par conséquent, votre boutique Magento peut faire face à une baisse des conversions si vous ne pouvez pas offrir aux clients une expérience de recherche facile et des résultats de recherche utiles en temps réel. C'est la raison pour laquelle vous avez besoin d'un moteur de recherche puissant, et Magento 2 Elasticsearch vient à la rescousse.

Qu'est-ce qu'Elasticsearch dans Magento 2 ?

logo elasticsearch

Selon Elasticsearch BV, Elasticsearch est un moteur de recherche et d'analyse distribué, gratuit et ouvert pour tous les types de données, y compris textuelles, numériques, géospatiales, structurées et non structurées.

Lancé pour la première fois en 2010, Elasticsearch est construit sur une bibliothèque de recherche et d'indexation basée sur Java appelée Apache Lucene. Il s'agit d'un moteur de recherche en texte intégral qui suggère des mots-clés associés et affiche des requêtes complètes en comparant des mots dans le document ou la base de données. De plus, son modèle distribué et son ouverture à tous les types de données le rendent rapide à rechercher et facile à mettre à l'échelle.

En raison de ces capacités, Elasticsearch a été utilisé dans la recherche d'applications ; Recherche de site Web ; Recherche d'entreprise ; Journalisation et analyse des journaux ; Surveillance des performances des applications ; Analyse et visualisation de données géospatiales ; Analytique commerciale, etc.

Depuis Magento 2.4, Adobe Commerce ou Magento requiert qu'Elasticsearch soit le moteur de recherche de catalogue par défaut. Par conséquent, il devient un composant obligatoire et ne peut pas être désactivé lors de l'installation de Magento. Elasticsearch donne aux clients des résultats de recherche plus rapides et plus pertinents en temps réel, ce qui augmente le taux de conversion de l'entreprise. C'est un énorme avantage pour les clients et les propriétaires de magasins Magento 2.

Comment fonctionne Elasticsearch ?

Ce qui permet à Elasticsearch de fournir des résultats de recherche aussi rapides et fiables, c'est sa capacité d'indexation, dans laquelle il recherche des indices plutôt que d'examiner le texte. Un index élastique est un groupe de documents structurés de manière similaire qui permet une récupération rapide et efficace des données et est utilisé pour stocker des documents logiquement liés.

Lorsque des données brutes arrivent dans Elasticsearch à partir de diverses sources, telles que des journaux, des métriques système et des applications Web, Elasticsearch les traite. Ensuite, il indexe ces données, et après cela, les utilisateurs peuvent exécuter des recherches compliquées sur les données et recevoir des résumés détaillés de leurs données à l'aide d'agrégations. (Elastic.co)

structure de recherche élastique
Source : thirdrocktechkno.com

Certaines des fonctionnalités importantes d'Elasticsearch :

  • Recherche de texte rapide
  • Suggestions de recherche
  • Auto-complétion
  • Vérification de l'orthographe/faute de frappe et détection des mots vides
  • Journalisation et analyse
  • Recherche géolocalisée

Avantages de Magento 2 Elasticsearch

Grande expérience de recherche

Les temps de réponse lents et la mauvaise fonctionnalité des moteurs de recherche peuvent entraîner des taux de rebond élevés. Grâce à la génération rapide de résultats d'Elasticsearch et aux résultats pertinents en temps réel, les clients ne se décourageront pas et ne quitteront pas le site.

Et grâce à l'auto-complétion et à l'auto-suggestion, les clients peuvent économiser beaucoup de temps et d'efforts et réduire les requêtes incorrectes.

En outre, une chose irritante à laquelle les chercheurs sont généralement confrontés est les fautes de frappe ou les fautes d'orthographe. Cela conduit les moteurs de recherche à ne pas être en mesure de reconnaître les mots-clés et à donner un statut "aucun résultat trouvé". Elasticsearch peut trouver des mots vides et les expressions qui leur correspondent, de sorte qu'il peut toujours donner des résultats connexes et même les rendre plus précis.

Recherche rapide

Elasticsearch est un outil puissant qui peut récupérer les mots-clés recherchés en moins de 10 secondes, beaucoup plus rapidement que la recherche typique basée sur SQL. Comme il est construit sur Lucene et utilise des index inversés distribués, Elasticsearch fonctionne exceptionnellement bien pour la recherche en texte intégral. ElasticSearch peut intercepter toutes les requêtes de recherche pour l'ensemble de résultats, de sorte que chaque fois qu'une requête de recherche contient un filtre en cache, il dirigera la recherche du résultat à partir du cache. Cela signifie que le temps entre le moment où un document est indexé et le moment où il devient consultable est relativement court, ce qui augmente la réponse des résultats de recherche.

Haute évolutivité et énormes volumes de gestion de données

Elasticsearch est basé sur une architecture distribuée. La société déclare que "les documents stockés dans Elasticsearch sont répartis dans différents conteneurs appelés shards, qui sont dupliqués pour fournir des copies redondantes des données en cas de panne matérielle". Par conséquent, sa nature permet d'évoluer jusqu'à des milliers de serveurs et de gérer d'énormes volumes de données.

De plus, il est construit de manière à pouvoir fonctionner avec succès sur n'importe quel cluster ou système avec de nombreux nœuds. Par conséquent, passer d'un seul petit cluster à un plus grand ne nécessite que peu de préparation et est pratiquement transparent.

Sans schéma

Elasticsearch utilise JSON, qui est JavaScript Object Notation. Il stocke les documents JSON avec des données d'indexation pour détecter la structure des données et les rend consultables. Cela signifie qu'il ne nécessite aucun type de définition de données et utilise normalement des valeurs par défaut pour indexer les données, à moins qu'un type de données spécifique ne soit donné. Lorsqu'un objet avec une nouvelle propriété est indexé ultérieurement, les définitions de mappage sont automatiquement mises à jour. Par conséquent, il est sans schéma.

Prérequis pour configurer Elasticsearch

En tant que module complémentaire requis pour la plate-forme Magento, Elasticsearch doit être installé et configuré avant que les utilisateurs ne passent à la version 2.4.x. De plus, les utilisateurs doivent savoir qu'Adobe ne prend plus en charge Adobe Commerce 2.3.x et PHP 7.3. Il est donc recommandé de mettre à niveau vers Adobe Commerce 2.4.x et PHP 7.4.x pour préserver la conformité PCI.

adobe-commerce-note-sur-les-versions
Source : Documents de développement Adobe Commerce

La séquence d'installation actuelle de Magento 2.4.x nécessite que les utilisateurs installent Elasticsearch avec ces exigences supplémentaires :

  • Serveur Web (Apache ou Nginx)
  • MySQL
  • PHP

La version demandée par Magento pour toutes les installations est Elasticsearch 7.6.x, les utilisateurs doivent donc s'assurer qu'ils optent pour cette version. Certaines extensions tierces Magento 2 Elasticsearch actuelles peuvent vous aider à intégrer Elasticsearch dans vos boutiques Magento.

Configuration facile d'Elasticsearch pour votre boutique Magento

Nous vous guidons ici à travers les étapes de configuration d'Elasticsearch à l'aide du panneau d'administration de Magento 2.

Étape 1 : Configuration des options de recherche Elasticsearch de Magento 2

1. Connectez-vous à votre panneau d'administration Magento 2 en tant qu'administrateur.

panneau d'administration magento

2. Cliquez sur Magasins. Dans Paramètres, choisissez Configuration . Depuis cette page, cliquez sur la section Catalogue pour la développer.

magento-configuration-panneau

3. Sélectionnez Recherche dans le catalogue . Ici, vous voyez toutes les versions du moteur de recherche à sélectionner et d'autres paramètres généraux.

  • Longueur minimale de la requête : le nombre minimal de caractères que les utilisateurs doivent saisir avant que les recommandations ou suggestions d'Elasticsearch s'affichent. Et la valeur par défaut du système est 3.
  • Longueur maximale de la requête : le nombre maximum de caractères à taper pour voir les résultats. La valeur par défaut du système est 128.
  • Nombre de meilleurs résultats de recherche dans le cache : saisissez ici le nombre limite de résultats de recherche populaires pour améliorer la vitesse de réponse. La valeur par défaut est 100. La deuxième fois qu'un terme est recherché, soumettez un « 0 » pour mettre en cache tous les résultats.
  • Activer ou désactiver l'indexeur EAV : modifiez ce champ pour augmenter la vitesse d'indexation et éviter les extensions tierces utilisant l'indexeur.
  • Limite de saisie semi-automatique : vous définissez la valeur pour limiter le nombre maximal de résultats de recherche affichés pour la saisie semi-automatique Magento 2 Elasticsearch. Cela permet d'améliorer les performances de recherche et de raccourcir la liste affichée. Le réglage par défaut est 8.
paramètres de recherche élastiques généraux

Étape 2 : Configuration de la connexion Magento 2 Elasticsearch

Le tableau suivant présente les options requises pour configurer et tester la connexion avec Magento. Si vous n'ajustez aucun paramètre et laissez les valeurs par défaut fonctionner, passez à l'étape suivante.

Magento-2-elasticsearch-connection-test-table
Source : Documents de développement Adobe Commerce
Magento-2-elasticsearch-connection-test-fields

Cliquez sur Tester la connexion pour terminer la configuration et tester.

Si la connexion échoue, essayez les méthodes suivantes

  • Vérifiez que votre serveur Elasticsearch est toujours en cours d'exécution.
  • Connectez-vous au serveur Magento et envoyez un ping à l'hôte Elasticsearch s'il se trouve sur un hôte différent de Magento. Résolvez tous les problèmes de connectivité réseau et retestez votre connexion.
  • Traitez toutes les traces de pile et les erreurs dans la fenêtre de commande où vous avez lancé Elasticsearch avant de continuer. Et assurez-vous d'avoir démarré Elasticsearch en tant qu'utilisateur avec un accès root.
  • Assurez-vous que le pare-feu UNIX et SELinux sont désactivés ou activez la communication entre Elasticsearch et Magento en configurant des règles.
  • Assurez-vous que le port sélectionné dans le champ Elasticsearch Server Port n'est pas déjà utilisé par un autre processus en utilisant le netstat -an | grep **listen-port** commande netstat -an | grep **listen-port** .

Étape 3 : Configurer les suggestions et les recommandations

Comme mentionné ci-dessus, les recommandations de recherche et les suggestions de Magento 2 Elasticsearch sont pratiques et utiles pour les clients à la recherche de produits adaptés.

Pour cette étape, vous pouvez utiliser les paramètres par défaut ou apporter quelques modifications :

  • Activez les champs Activer les recommandations de recherche et Activer les suggestions de recherche .
  • Choisissez de proposer le nombre de recommandations et de suggestions de recherche dans les champs Nombre de recommandations de recherche et Nombre de suggestions de recherche.
  • Autoriser l'affichage ou non du nombre de résultats trouvés pour chaque recommandation et suggestion dans les champs Afficher le nombre de résultats pour chaque recommandation et Afficher le nombre de résultats pour chaque suggestion .
  • Spécifiez une valeur dans Termes minimaux à faire correspondre pour définir le nombre minimum de termes que les résultats de la recherche doivent correspondre pour que les utilisateurs reçoivent les plus pertinents.
Magento-2-elasticsearch-recommandation-suggestion-paramètres

Lorsque vous avez terminé la configuration, cliquez sur Save Config .

Étape 4 : Réindexation de la recherche dans le catalogue et actualisation du cache de la page complète

Après avoir modifié la configuration de Magento 2 Elasticsearch, vous devez réindexer l'index de recherche du catalogue et recharger le cache de page complet. Il y a deux façons de procéder : en utilisant l'administrateur ou la ligne de commande.

En utilisant le Panneau d'administration:

  1. Dans Admin, cliquez sur Système et accédez à Gestion du cache.
  2. Cochez la case Page Cache .
  3. Sélectionnez Actualiser dans la liste Actions en haut à droite de la page.
section de gestion du cache

Pour nettoyer le cache, exécutez la commande magento cache:clean .

À l'aide de la ligne de commande :

  • Connectez-vous en tant que propriétaire du système de fichiers ou basculez vers celui-ci sur votre serveur Magento.
  • Pour réindexer uniquement l'index de recherche du catalogue, saisissez :

bin/magento indexer:reindex catalogsearch_fulltext

  • Pour réindexer tous les indexeurs, entrez :

bin/magento indexer:reindex

  • Attendez que le processus de réindexation soit terminé.

Conclusion

Utilisé par des noms célèbres comme Netflix, LinkedIn, eBay, etc., Elasticsearch est reconnu pour rendre les recherches de sites simples et efficaces pour vos clients. Une fois la configuration de Magento 2 Elasticsearch terminée, votre boutique sera renforcée pour convertir les recherches en ventes et minimiser les abandons de panier.
J'espère que cet article vous sera utile et nous vous souhaitons bonne chance dans le commerce électronique !