Catalogue de recherches en direct non synchronisé

Cet article fournit des solutions au problème d’Adobe Commerce en raison duquel les données de votre catalogue ne sont pas correctement synchronisées lors de l’utilisation de l’extension Live Search.

Produits et versions concernés

  • Adobe Commerce 2.4.x avec extension Live Search installée

Problème

Les données de votre catalogue ne sont pas synchronisées correctement ou un nouveau produit a été ajouté mais n’apparaît pas dans les résultats de recherche. Il se peut également que l’erreur suivante s’affiche dans le var/log/exception.log :

Magento_LiveSearch: An error occurred in search backend. {"result":{"errors":[{"message":"Exception while fetching data (/productSearch) : No index was found for this request"}]}}

NOTE
Les noms de table catalog_data_exporter_products et catalog_data_exporter_product_attributes sont désormais appelés cde_products_feed et cde_product_attributes_feed à partir de Live Search version 4.2.1. Pour les commerçants utilisant des versions antérieures à la version 4.2.1, recherchez les données dans les anciens noms de table, catalog_data_exporter_products et catalog_data_exporter_product_attributes.

Procédure à suivre

  1. Configurez et connectez Live Search à votre instance Adobe Commerce, comme décrit dans Installation de Live Search > Configuration des clés d’API dans notre documentation utilisateur.
  2. Au bout de 30 minutes, vérifiez les données de catalogue exportées, comme décrit dans Installer Live Search > Vérifier l’exportation dans notre documentation utilisateur.
  3. Au bout de 30 minutes, testez la connexion comme décrit dans Installer Live Search > Tester la connexion dans notre documentation utilisateur.

Ou

  1. Ajoutez un nouveau produit au catalogue.
  2. Essayez d’exécuter une requête de recherche à l’aide du nom du produit ou d’autres attributs pouvant faire l’objet de recherches après 15 à 20 minutes à compter de l’exécution de l’indexeur du Magento horaire + cron pour synchroniser les données avec le service principal.

Résultat attendu

  • Les données de catalogue exportées peuvent être vérifiées.
  • Connexion réussie
  • Un nouveau produit apparaît dans les résultats de la recherche.

Résultat réel

Le catalogue exporté ne peut pas être vérifié et/ou la connexion n’est pas établie car la clé API a changé.

Solution

Vous pouvez prendre plusieurs mesures pour essayer de résoudre les problèmes de synchronisation des catalogues.

Attendre que les modifications soient appliquées

Une fois la configuration et la connexion effectuées, la création de l’index dans ES (Elasticsearch) et le renvoi des résultats de la recherche peuvent prendre plus de 30 minutes. Les mises à jour de produit ponctuelles suivantes doivent être indexées dans les minutes qui suivent.

Synchroniser les données de produit pour un SKU spécifique

Si les données de votre produit ne sont pas correctement synchronisées pour un SKU spécifique, procédez comme suit :

  1. Utilisez la requête SQL suivante et vérifiez que vous disposez des données attendues dans la colonne feed_data. Notez également l’horodatage modified_at.

    code language-sql
    SELECT * FROM cde_products_feed WHERE json_extract(feed_data, '$.sku') = '<your_sku>' AND json_extract(feed_data, '$.storeViewCode') = '<your_ store_view_code>';
    

    Par exemple :

    code language-sql
    SELECT * FROM cde_products_feed WHERE json_extract(feed_data, '$.sku') = '24-MB04' AND json_extract(feed_data, '$.storeViewCode') = 'default';
    
  2. Si vous ne voyez pas les données correctes, essayez de réindexer à l’aide de la commande suivante et exécutez à nouveau la requête SQL à l’étape 1 pour vérifier les données :

    code language-bash
    bin/magento indexer:reindex cde_products_feed
    
  3. Si les données correctes ne s’affichent toujours pas, créez un ticket d’assistance.

Vérifier l’horodatage de la dernière exportation de produit

  1. Si les données correctes s’affichent dans cde_products_feed, utilisez la requête SQL suivante pour vérifier l’horodatage de la dernière exportation. Elle doit être postérieure à l’horodatage modified_at :

    code language-sql
    select * from scopes_website_data_exporter;
    
  2. Si l’horodatage est plus ancien, vous pouvez attendre la prochaine exécution cron ou le déclencher vous-même à l’aide de la commande suivante :

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. Temps d'attente de <> (temps des mises à jour incrémentielles). Si vos données ne s’affichent toujours pas, créez un ticket d’assistance.

Synchroniser le code d’attribut spécifique

Si les données d’attributs de produit ne sont pas correctement synchronisées pour un code d’attribut spécifique, procédez comme suit :

  1. Utilisez la requête SQL suivante et vérifiez que vous disposez des données attendues dans la colonne feed_data. Notez également l’horodatage modified_at.

    code language-sql
    select * from cde_product_attributes_feed where json_extract(feed_data, '$.attributeCode') = '<your_attribute_code>' and store_view_code = '<your_ store_view_code>';
    
  2. Si vous ne voyez pas les données correctes, utilisez la commande suivante pour réindexer, puis exécutez à nouveau la requête SQL à l’étape 1 pour vérifier les données.

    code language-bash
    bin/magento indexer:reindex cde_product_attributes_feed
    
  3. Si les données correctes ne s’affichent toujours pas, créez un ticket d’assistance.

Vérifier l’horodatage de la dernière exportation d’attributs de produit

Si vous voyez les données correctes dans cde_product_attributes_feed :

  1. Utilisez la requête SQL suivante pour vérifier l’horodatage de la dernière exportation. Elle doit être postérieure à l’horodatage modified_at.

    code language-sql
    select * from scopes_website_data_exporter;
    
  2. Si l’horodatage est plus ancien, vous pouvez attendre la prochaine exécution cron ou le déclencher vous-même à l’aide de la commande suivante :

    code language-bash
    bin/magento cron:run --group=saas_data_exporter
    
  3. Patientez 15 à 20 minutes (temps pour les mises à jour incrémentielles). Si vos données ne s’affichent toujours pas, veuillez créer un ticket d’assistance.

Synchronisation après modification de la configuration de l’API

(Problème connu) Si vous avez modifié la configuration de votre API, ce qui entraîne une modification de votre identifiant d’espace de données, et que vous constatez que vos modifications de catalogue ne se synchronisent plus, exécutez les commandes suivantes :

bin/magento saas:resync --feed products
bin/magento saas:resync --feed productattributes

Exécutez les commandes suivantes pour resynchroniser les flux :

bin/magento saas:resync --feed productattributes --cleaup-feed
bin/magento saas:resync --feed products --cleanup-feed
bin/magento saas:resync --feed scopesCustomerGroup --cleanup-feed
bin/magento saas:resync --feed scopesWebsite --cleanup-feed
bin/magento saas:resync --feed prices --cleanup-feed
bin/magento saas:resync --feed productOverrides --cleanup-feed
bin/magento saas:resync --feed variants --cleanup-feed
bin/magento saas:resync --feed categories --cleanup-feed
bin/magento saas:resync --feed categoryPermissions --cleanup-feed

Envoyez une demande d’assistance pour demander la réindexation de l’index Live Search. Dans la description du problème, incluez votre identifiant d’espace de données/d’environnement figurant dans le panneau d’administration sous System > Services > Commerce Services Connector.

Lecture connexe

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a