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 version 8.1, 8.2 ou 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 :
- Installer l’extension Live Search
- Configurer les clés d’API
- Synchroniser vos données de catalogue
- Vérifiez que les données du catalogue ont été exportées.
- Configurer les données
- Test de la connexion
- Vérifiez que les événements capturent des données
- Personnaliser votre vitrine
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 la commande suivante pour désactiver temporairement OpenSearch et les modules connexes, puis installez Live Search. Ensuite, passez à 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 les modules Live Search qui diffusent les résultats de recherche storefront. Ensuite, passez à 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
Installation de la version bêta de Live Search
Cette version bêta prend en charge trois nouvelles fonctionnalités de la requête productSearch
:
-
Recherche en couches - Recherche dans un autre contexte de recherche - Grâce à cette fonctionnalité, vous pouvez effectuer jusqu’à deux couches de recherche pour vos requêtes de recherche. Par exemple :
- Recherche de calque 1 - Recherchez "engine" sur "product_attribute_1".
- Recherche par couche 2 - Recherchez "numéro de partie 123" sur "product_attribute_2". Cet exemple recherche "part number 123" dans les résultats pour "engine".
La recherche en couches est disponible pour l’indexation de recherche
startsWith
et l’indexation de recherchecontains
comme décrit ci-dessous : -
startsWith search indexation - Effectuez une recherche en utilisant l’indexation
startsWith
. Cette nouvelle fonctionnalité permet :- La recherche de produits pour lesquels la valeur d’attribut commence par une chaîne spécifique.
- Configuration d’une recherche "se termine par" afin que les acheteurs puissent rechercher des produits pour lesquels la valeur d’attribut se termine par une chaîne spécifique. Pour activer une recherche "se termine par", l’attribut de produit doit être ingéré en sens inverse et l’appel API doit également être une chaîne inversée.
-
contient l’indexation de la recherche - Recherchez un attribut à l’aide de l’indexation contient. Cette nouvelle fonctionnalité permet :
-
Recherche d’une requête dans une chaîne plus grande. Par exemple, si un acheteur recherche le numéro de produit "PE-123" dans la chaîne "HAPE-123".
- Remarque : Ce type de recherche est différent de la recherche d’expression existante, qui effectue une recherche de saisie semi-automatique. Par exemple, si la valeur de votre attribut de produit est "pantalon extérieur", une recherche d’expression renvoie une réponse pour "pantalon d’extraction", mais ne renvoie pas de réponse pour "fourmis d’extérieur". Une recherche contient, cependant, renvoie une réponse pour "fourmis pauvres".
-
Ces nouvelles conditions améliorent le mécanisme de filtrage des requêtes de recherche pour affiner les résultats de recherche. Ces nouvelles conditions n’affectent pas la requête de recherche principale.
Vous pouvez mettre en oeuvre ces nouvelles conditions sur votre page de résultats de recherche. Par exemple, vous pouvez ajouter une nouvelle section sur la page où l’acheteur peut affiner davantage ses résultats de recherche. Vous pouvez permettre aux acheteurs de sélectionner des attributs de produit spécifiques, tels que "Fabricant", "Numéro de pièce" et "Description". À partir de là, ils effectuent des recherches dans ces attributs à l’aide des conditions contains
ou startsWith
. Consultez le guide d’administration pour obtenir une liste des attributs pouvant faire l’objet d’une recherche.
-
Pour installer la version bêta, ajoutez la dépendance suivante à votre projet :
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
Validez et envoyez les modifications à vos fichiers
composer.json
etcomposer.lock
dans votre projet cloud. En savoir plus.Cette version bêta ajoute Search types cases à cocher pour Autocomplete, Contains et Starts with dans l’administrateur. Il met également à jour l’API GraphQL
productSearch
pour inclure ces nouvelles fonctionnalités de recherche. -
Dans l’administrateur, définissez un attribut de produit à rechercher et spécifiez la fonctionnalité de recherche de cet attribut, par exemple Contains (par défaut) ou Commence par. Vous pouvez spécifier un maximum de six attributs à activer pour Contient et six attributs à activer pour Commence par. Pour la version bêta, sachez que l’administrateur n’applique pas cette restriction, mais qu’il l’applique dans les recherches d’API.
-
Consultez la documentation destinée aux développeurs pour savoir comment mettre à jour vos appels d’API Live Search à l’aide des nouvelles fonctionnalités de recherche
contains
etstartsWith
.
Descriptions des champs
Autocomplete
Autocomplete
, vous pouvez utiliser contains
dans le filtre de recherche. Ici, la requête de recherche dans contains
renvoie une réponse de recherche de type saisie automatiquement. Adobe vous recommande d’utiliser ce type de recherche pour les champs de description, qui contiennent généralement plus de 50 caractères.Contains
contains
dans le filtre de recherche. Pour plus d’informations, voir Limites .Starts with
startsWith
dans le filtre de recherche.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 Mises à jour de produit en flux continu dans la documentation sur l’indexation.
4. Vérifier que les données ont été exportées verify-export
Pour vérifier si vos données de catalogue ont été exportées à partir d’Adobe Commerce et synchronisées avec Live Search, vous disposez de quelques options :
-
Recherchez des entrées dans les tableaux suivants :
cde_products_feed
cde_product_attributes_feed
note note NOTE Si vous obtenez une erreur table does not exist
, recherchez les entrées dans les tablescatalog_data_exporter_products
etcatalog_data_exporter_product_attributes
. Ces noms de table sont utilisés dans les versions Live Search antérieures à la version 4.2.1. -
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 de la catégorie de navigation. 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 de liste de 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". Ces affectations de catégorie améliorent la 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. Vérifier que les événements capturent des données
Assurez-vous que les événements storefront déployés sur votre site fonctionnent. Ceci est particulièrement important pour les implémentations sans interface.
- Examinez les événements requis pour Live Search.
- Assurez-vous que le tableau de bord de la recherche en direct affiche les données de vos environnements hors production.
- Vérifier la collecte des événements. Bien que cette page figure dans le guide Product Recommendations, les étapes de vérification s’appliquent également à Live Search.
8. Personnalisez votre vitrine
Vous avez installé l’extension Live Search, synchronisé, validé et configuré vos données. L’étape suivante consiste à s’assurer que les widgets Live Search sont conformes à l’apparence de votre magasin.
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
Le métaphorage Composer pour installer l’extension Live Search comprend les dépendances de module suivantes.
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
.
Comme Live Search n’a pas accès à la base de données complète des produits, les API de base de données Live Search GraphQL et Commerce GraphQL ne sont pas entièrement équivalentes.
Adobe recommande 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 :
La collecte automatique des données d’interaction utilisateur ne fonctionne pas par défaut lorsque vous n’utilisez pas les composants standard tels que l’adaptateur de recherche, les widgets Luma ou les widgets CIF AEM. Adobe Sensei utilise ces données collectées pour le marchandisage intelligent et le suivi des performances. Pour résoudre ce problème, vous devez développer une solution personnalisée afin de mettre en oeuvre cette collecte de données sans interface utilisateur.
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 correspond à une langue prise en charge, il utilise cette langue par défaut. Sinon, le widget est défini par défaut sur Anglais. Dans l’administrateur, le paramètre de langue est configuré en accédant à Stores> Settings >Configuration > General> Country Options.
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 code du widget de page de liste de produits et du widget de champ de recherche en direct peut être téléchargé à partir de GitHub.
Les développeurs qui ont accès au code peuvent complètement personnaliser son fonctionnement et son aspect. Ils hébergent le code sur leurs propres serveurs, tout en utilisant le 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 ne fonctionnent pas sur les vitrines des PWA.
- Lors de l’utilisation de PWA Studio, GraphQL ne prend pas en charge le filtrage directement sur
description
,name
,short_description
, mais ces champs peuvent être renvoyés avec un filtre plus général.
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.