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"}]}}
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
- 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.
- 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.
- Au bout de 30 minutes, testez la connexion comme décrit dans Installer Live Search > Tester la connexion dans notre documentation utilisateur.
Ou
- Ajoutez un nouveau produit au catalogue.
- 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 :
-
Utilisez la requête SQL suivante et vérifiez que vous disposez des données attendues dans la colonne
feed_data
. Notez également l’horodatagemodified_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';
-
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
-
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
-
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’horodatagemodified_at
:code language-sql select * from scopes_website_data_exporter;
-
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
-
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 :
-
Utilisez la requête SQL suivante et vérifiez que vous disposez des données attendues dans la colonne
feed_data
. Notez également l’horodatagemodified_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>';
-
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
-
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
:
-
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;
-
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
-
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
- Intégration de la recherche en directdans notre documentation utilisateur
- Consultez les journaux et résolvez les problèmes d’exportation et de synchronisation des données SaaS Adobe Commerce dans le Guide d’exportation des données SaaS Adobe Commerce
- Recommandations relatives à la modification des tables de base de données dans le manuel Commerce Implementation Playbook