Configurer pour la réussite avec Live Search
Adobe Commerce Live Search et Catalog Service travaillent ensemble pour fournir une solution de recherche performante, pertinente et intuitive afin de permettre à vos clients de trouver rapidement ce dont ils ont exactement besoin. Plus précisément, Catalog Service affiche vos données de catalogue pour les services SaaS, comme Live Search à utiliser.
Cet article fournit des instructions détaillées pour l’implémentation de Live Search avec Catalog Service.
Audience
Cet article est destiné au développeur ou à l’intégrateur de systèmes de votre équipe responsable de l’installation et de la configuration de votre instance Adobe Commerce.
Conditions
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
Plateformes prises en charge
- Adobe Commerce on Cloud (CEE) : 2.4.4+
- Adobe Commerce on-premise (EE) : 2.4.4+
Workflow - Aperçu
À un niveau élevé, l’intégration Live Search requiert que vous :
1. Installez l’extension Live Search
Live Search est installé en tant qu'extension de Adobe Marketplace à Composer. Après avoir installé et configuré Live Search, Adobe Commerce commence à partager les données de recherche et de catalogue avec les services SaaS. À ce stade, les utilisateurs Admin peuvent configurer, personnaliser et gérer les facettes de recherche, les synonymes et les règles de marchandisage.
-
Vérifiez que les tâches cron et indexers sont en cours d’exécution.
note important IMPORTANT En raison de l’annonce de fin de prise en charge de 7 Elasticsearch pour août 2023, il est recommandé à tous les clients Adobe Commerce de migrer vers le moteur de recherche OpenSearch 2.x. Pour plus d’informations sur la migration de votre moteur de recherche lors d’une mise à niveau de produit, voir Migration vers OpenSearch dans le Guide de mise à niveau. -
Téléchargez le package
live-search
depuis Adobe Marketplace. -
Exécutez la commande suivante à partir de la ligne de commande :
code language-bash composer require magento/live-search
Si vous ajoutez l’extension Live Search à une installation new Adobe Commerce, exécutez ce qui suit pour désactiver OpenSearch et les modules connexes, puis installez Live Search. Passez ensuite à l’étape 4.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
Si vous ajoutez l’extension Live Search à une installation Adobe Commerce existante, exécutez ce qui suit pour désactiver temporairement les modules Live Search qui diffusent les résultats de recherche storefront. Passez ensuite à l’étape 4 :
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch continue à gérer les requêtes de recherche à partir du storefront tandis que le service Live Search synchronise les données de catalogue et indexe les produits en arrière-plan.
-
Exécutez les opérations suivantes :
code language-bash bin/magento setup:upgrade
-
Vérifiez que les indexers suivants sont définis sur "Mise à jour par planification" :
- Flux de produit
- Flux de variante de produit
- Flux d’attributs du catalogue
- Flux de prix du produit
- Portée du flux de données du site web
- Portée Flux de données de groupes de clients
- Flux de catégories
- Flux d’autorisations de catégorie
-
Si vous installez Live Search sur une nouvelle instance Commerce, vous avez terminé et vous pouvez passer à 2. Configurez la section Clés API . Si vous installez Live Search sur une instance Commerce existante, passez à l’étape suivante.
-
Exécutez les commandes suivantes pour activer l’extension Live Search, désactiver OpenSearch et exécuter
setup
.code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
code language-bash bin/magento setup:upgrade
2. Configuration des clés d’API
La clé API Adobe Commerce et sa clé privée associée sont nécessaires pour connecter Live Search à une installation d'Adobe Commerce. La clé API est générée et conservée dans le compte du détenteur de licence Commerce, qui peut la partager avec le développeur ou l’intégrateur de systèmes. Le développeur peut ensuite créer et gérer les espaces de données SaaS pour le compte du détenteur de licence. Si vous disposez déjà d’un ensemble de clés d’API, vous n’avez pas besoin de les régénérer.
Découvrez comment configurer vos clés d’API dans l’article Commerce Services Connector.
3. Synchroniser les données de votre catalogue synchronize-catalog-data
Live Search déplace les données du catalogue vers l’infrastructure SaaS d’Adobe. Les données sont indexées et les résultats de la recherche sont diffusés de cet index directement sur le storefront. Selon la taille et la complexité, l’indexation peut prendre de 30 minutes à quelques heures.
Pour commencer la synchronisation initiale de vos données de catalogue avec les services SaaS, exécutez les commandes suivantes dans cet ordre :
bin/magento saas:resync --feed productattributes
bin/magento saas:resync --feed products
bin/magento saas:resync --feed scopesCustomerGroup
bin/magento saas:resync --feed scopesWebsite
bin/magento saas:resync --feed prices
bin/magento saas:resync --feed productoverrides
bin/magento saas:resync --feed variants
bin/magento saas:resync --feed categories
bin/magento saas:resync --feed categoryPermissions
Lorsque vous exécutez ces commandes, la synchronisation initiale des données de votre catalogue avec les services SaaS démarre.
cron
s’exécute pour synchroniser vos données avec les services SaaS.Surveillance de la progression de la synchronisation
Vous pouvez afficher les données synchronisées et partagées à l’aide du tableau de bord de Data Management. Ce tableau de bord fournit des informations précieuses sur la disponibilité des données de produit pour votre storefront, afin qu’elles puissent être rapidement affichées pour vos clients.
Vous pouvez également exécuter des commandes de synchronisation et résoudre les problèmes liés au processus de synchronisation à l’aide de l’interface de ligne de commande Commerce et des journaux d’extension d’exportation des données.
Futures mises à jour des produits
Après la synchronisation initiale, il peut s’écouler jusqu’à 15 minutes avant que les mises à jour incrémentielles des produits ne soient disponibles pour la recherche storefront. Pour en savoir plus, voir Indexation - Mises à jour de produit en flux continu.
4. Vérifier que les données ont été exportées verify-export
Pour vérifier que les données du catalogue ont été exportées à partir de votre instance Adobe Commerce et sont synchronisées pour Live Search, vous disposez de deux options :
-
Recherchez des entrées dans les tableaux suivants :
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
Utilisez le terrain de jeu GraphQL avec la requête par défaut pour vérifier les éléments suivants :
- Le nombre de produits renvoyé est proche de ce que vous attendez pour la vue de magasin.
- Les facettes sont renvoyées.
Pour obtenir une aide supplémentaire, reportez-vous à la section Live Search catalogue non synchronisé de la base de connaissances d’assistance.
5. Configurer les données
La configuration correcte des données de vos produits garantit de bons résultats de recherche pour vos clients. Dans cette section, vous activez les widgets de liste de produits et affectez des catégories.
Activation des widgets de liste de produits
Lorsque vous installez Live Search 4.0.0+, les widgets de liste de produits sont activés par défaut. Lorsque les widgets sont activés, un composant d’interface utilisateur différent est utilisé pour la page des résultats de recherche et la page de liste des produits du navigateur de catégorie. Ce composant de l’interface utilisateur effectue des appels directs vers l’ API Catalog Service, ce qui se traduit par des temps de réponse plus rapides.
Si vous disposez d’une version de Live Search antérieure à 4.0.0+, vous devez activer manuellement le widget Liste des produits.
-
À partir de Admin, accédez à Stores > Settings>Configuration.
-
Sous Live Search, sélectionnez Storefront Features.
-
Définissez Enable Product Listing Widgets sur
Yes
.
Lorsque vous modifiez cette configuration, le message Page cache is invalidated
apparaît. Vous devez vider le cache du Magento pour enregistrer votre modification.
-
Accédez à la page Gestion du cache en effectuant l’une des opérations suivantes :
- Cliquez sur le lien Cache Management dans le message situé au-dessus de l’espace de travail.
- Sur la barre latérale Admin, accédez à System > Tools>Cache Management.
-
Sélectionnez la Configuration Cache Type et cliquez sur Flush Magento Cache.
Les modifications apportées au storefront sont immédiates une fois le cache vidé.
Attribution de catégories
Les produits renvoyés dans Live Search doivent être affectés à une catégorie. Dans Luma, par exemple, les produits sont classés dans des catégories telles que "Hommes", "Femmes" et "Porcs". Les sous-catégories sont également configurées pour "Tops", "Bottoms" et "Montres". Cela permet une meilleure granularité lors du filtrage.
6. Tester la connexion test-connection
Maintenant que vos données de catalogue sont dans SaaS, vérifiez que les données de produit sont renvoyées dans les scénarios suivants :
- La zone Search renvoie les résultats correctement.
- La navigation dans les catégories renvoie correctement les résultats.
- Les facettes sont disponibles sous forme de filtres sur les pages de résultats de recherche.
Si tout fonctionne correctement, Live Search est installé, connecté et prêt à l'emploi.
Si vous rencontrez des problèmes dans le storefront, recherchez dans le fichier var/log/system.log
des échecs de communication de l’API ou des erreurs du côté des services.
Pour autoriser Live Search par le biais d’un pare-feu, ajoutez commerce.adobe.io
à la liste autorisée.
7. Personnaliser pour votre vitrine
Vous avez installé l’extension Live Search, synchronisé, validé et configuré vos données. Vous allez maintenant vous assurer que les widgets Live Search sont conformes à l’apparence de votre boutique.
Vous pouvez mettre en forme la fenêtre contextuelle et les widgets PLP en définissant des règles CSS personnalisées si nécessaire. Voir Eléments de fenêtre contextuelle de style et Widget de page de liste de produits.
Si vous souhaitez étendre les fonctionnalités des widgets, le code source de chacun d’eux est disponible dans un référentiel public.
Dans ce scénario, vous pouvez personnaliser JavaScript selon vos besoins, puis héberger votre code personnalisé sur votre réseau de diffusion de contenu. Ce script personnalisé communique avec le service Live Search et renvoie les résultats comme normaux, ce qui vous permet de contrôler les fonctionnalités du widget.
Mise à jour de Live Search update
Avant de mettre à jour la recherche en direct, exécutez le code suivant depuis la ligne de commande pour vérifier la version de la recherche en direct installée :
composer show magento/module-live-search | grep version
Pour mettre à jour Live Search, exécutez les éléments suivants à partir de la ligne de commande :
composer update magento/live-search --with-dependencies
Pour effectuer une mise à jour vers une version majeure, telle que de 3.1.1 à 4.0.0, modifiez le fichier Composer .json
racine du projet comme suit :
-
Si votre version
magento/live-search
actuellement installée est3.1.1
ou inférieure et que vous effectuez une mise à niveau vers la version4.0.0
ou supérieure, exécutez la commande suivante avant la mise à niveau :code language-bash bin/magento module:enable Magento_AdvancedSearch
Pour plus d’informations sur la version
magento/live-search
actuellement installée, exécutez la commande suivante :code language-bash composer show magento/live-search
-
Ouvrez le fichier racine
composer.json
et recherchezmagento/live-search
. -
Dans la section
require
, mettez à jour le numéro de version comme suit :code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
Enregistrez
composer.json
. Exécutez ensuite la commande suivante à partir de la ligne de commande :code language-bash composer update magento/live-search --with-dependencies
Désinstallation de Live Search uninstall
Pour désinstaller Live Search, reportez-vous à la section Désinstallation des modules.
Live Search packages packages
L’extension Live Search se compose des packages suivants :
module-live-search
module-live-search-adapter
- Navigation dans les catégories - Permet d’acheminer les demandes du haut navigation du storefront vers le service de recherche.
- Recherche globale : achemine les requêtes de la zone de recherche rapide dans le coin supérieur droit du storefront vers le service Live Search.
module-live-search-storefront-popover
Live Search dépendances dependencies
Les dépendances Live Search suivantes sont capturées par Composer.
magento/module-saas-catalog
magento/module-saas-category
magento/module-saas-category-permissions
magento/module-saas-product-override
magento/module-saas-product-variant
magento/module-saas-price
magento/module-saas-scopes
magento/module-bundle-product-data-exporter
magento/module-catalog-inventory-data-exporter
magento/module-catalog-url-rewrite-data-exporter
magento/module-configurable-product-data-exporter
magento/module-parent-product-data-exporter
magento/module-gift-card-product-data-exporter
magento/module-bundle-product-override-data-exporter
data-services
services-id
Concepts avancés
Les sections suivantes contiennent des rubriques plus avancées lorsque vous utilisez Live Search et Catalog Service.
Point d’entrée
Live Search communique par l’intermédiaire du point de terminaison à l’adresse https://catalog-service.adobe.io/graphql
.
Live Search n’ayant pas accès à la base de données complète des produits, Live Search GraphQL et Commerce core GraphQL n’auront pas une parité complète.
Il est recommandé d’appeler directement les API SaaS, en particulier le point d’entrée du service de catalogue.
- Obtenir des performances et réduire la charge du processeur en contournant le processus base de données Commerce/Graphql
- Profitez de la fédération Catalog Service pour appeler Live Search, Catalog Service et Product Recommendations à partir d’un seul point de terminaison.
Pour certains cas d’utilisation, il est peut-être préférable d’appeler Catalog Service pour obtenir des détails sur les produits et des cas similaires. Voir refineProduct pour plus d’informations.
Si vous disposez d’une implémentation personnalisée sans interface utilisateur graphique, consultez les implémentations de référence Live Search :
Si vous n’utilisez pas les composants par défaut, tels que l’adaptateur de recherche ou les widgets sur Luma ou les widgets d’AEM CIF, les événements (données de parcours de navigation qui alimentent Adobe Sensei pour les mesures de marchandisage et de performances intelligentes) ne fonctionneront pas immédiatement et nécessitent un développement personnalisé pour implémenter des événements sans interface.
La dernière version de Live Search utilise déjà Catalog Service.
Prise en charge linguistique
Les widgets Live Search prennent en charge les langues suivantes :
Si le widget détecte que le paramètre de langue d’administration de Commerce (Magasins > Paramètres > Configuration > Général > Options de pays) correspond à une langue prise en charge, il utilise cette langue par défaut. Sinon, les widgets sont définis par défaut sur Anglais.
Les administrateurs peuvent également définir la langue de l’ index de recherche, afin de garantir de meilleurs résultats de recherche.
Référentiel de code de widget
Le widget Page de liste de produits et le widget Champ de recherche en direct peuvent tous deux être téléchargés à partir de leur référentiel github.
Cela permet aux développeurs de personnaliser entièrement les fonctionnalités et le style. Ces utilisateurs hébergent le code eux-mêmes tout en tirant parti du service Live Search.
Extension Data Export
Une fois la recherche en direct activée, l’extension Exportation de données synchronise les données Commerce entre l’application Commerce et la recherche en direct. Ce processus garantit que les données Commerce les plus récentes sont disponibles sur le storefront. Dans l’Admin, vous pouvez vérifier l’état de synchronisation à l’aide du tableau de bord Data Management. Vous pouvez gérer et résoudre les problèmes liés au processus d’exportation des données à l’aide de l’interface de ligne de commande et des journaux de Commerce. Pour plus d’informations, voir le Guide d’exportation des données.
Inventory management
Live Search prend en charge les fonctionnalités Inventory management dans Commerce (anciennement appelée Inventaire multi-Source ou MSI). Pour activer la prise en charge complète, vous devez mettre à jour le module de dépendance commerce-data-export
vers la version 102.2.0+.
Live Search renvoie une valeur booléenne indiquant si un produit est disponible dans Inventory management, mais ne contient pas d’informations sur la source qui possède le stock.
Indexateur de prix
Les clients Live Search peuvent utiliser l’ indexeur de prix SaaS, qui permet d’accélérer les mises à jour de changement de prix et le temps de synchronisation.
Prise en charge des prix
Les widgets de recherche en direct prennent en charge la plupart, mais pas tous les types de prix pris en charge par Adobe Commerce.
Actuellement, les prix de base sont pris en charge. Les prix avancés non pris en charge sont les suivants :
- Coût
- Prix publicitaire minimal
Consultez API Mesh pour des calculs de prix plus complexes.
Le format de prix prend en charge le paramètre de configuration des paramètres régionaux dans l’instance Commerce : Magasins > Paramètres > Configuration > Général > Général > Options locales > Paramètre régional.
Prise en charge de storefront sans interface
Si vous le souhaitez, vous devrez peut-être installer le module module-data-services-graphql
qui étend la couverture GraphQL existante de l’application pour inclure les champs requis pour la collecte de données comportementales du storefront.
composer require magento/module-data-services-graphql
Ce module ajoute des contextes supplémentaires aux requêtes GraphQL :
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
Prise en charge B2B
Live Search prend en charge la fonctionnalité B2B avec des limitations supplémentaires.
Prise en charge des PWA
Live Search fonctionne avec PWA Studio, mais les utilisateurs peuvent constater de légères différences par rapport aux autres implémentations de Commerce. Les fonctionnalités de base telles que la recherche et la liste de produits fonctionnent dans Venia, mais certaines permutations de Graphql peuvent ne pas fonctionner correctement. Il peut également y avoir des différences de performances.
- L’implémentation actuelle du PWA de Live Search nécessite plus de temps de traitement pour renvoyer les résultats de recherche que Live Search avec le storefront Commerce natif.
- Live Search en PWA ne prend pas en charge la gestion des événements. Par conséquent, les rapports de recherche et le marchandisage intelligent fonctionneront.
- Le filtrage directement sur
description
,name
,short_description
n’est pas pris en charge par GraphQL lorsqu’il est utilisé avec PWA, mais un filtre plus général les renvoie.
Pour utiliser Live Search avec PWA Studio, les intégrateurs doivent également :
-
Installez livesearch-storefront-utils.
-
Définissez le
environmentId
dans l’objetstoreDetails
.code language-javascript const storeDetails: StoreDetailsProps = { environmentId: <Storefront_ID>, websiteCode: "base", storeCode: "main_website_store", storeViewCode: "default", searchUnitId: searchUnitId, config: { minQueryLength: 5, pageSize: 8, currencySymbol: "$", }, };
Cookies
Live Search collecte des données d’interaction de l’utilisateur dans le cadre de sa fonctionnalité de base et les cookies sont utilisés pour stocker ces données. Lors de la collecte de toute information utilisateur, l’utilisateur doit accepter de stocker les cookies. Live Search et Product Recommendations partagent le flux de données et donc le même mécanisme de cookie. Pour en savoir plus, consultez la section Handle Cookie Restrictions.