ライブ検索カタログが同期されていません
この記事では、Adobe Commerce拡張機能を使用するとカタログデータが正しく同期されない Live Search の問題の解決策について説明します。
影響を受ける製品とバージョン
- Adobe Commerce 2.4.x (Live Search Extension がインストールされている場合)
問題
カタログデータが正しく同期されていないか、新しい製品が追加されたが検索結果に表示されません。
catalog_data_exporter_products
と catalog_data_exporter_product_attributes
は cde_products_feed
と cde_product_attributes_feed
になりました。4.2.1 より前のバージョンのマーチャントの場合、古いテーブル名 catalog_data_exporter_products
および catalog_data_exporter_product_attributes
でデータを探します。再現手順
- アドビのユーザードキュメントの Live Search のインストール/API キーの設定に従って、Adobe Commerce インスタンスの Live Search を設定して接続します。
- 30 分後、ユーザードキュメントの Live Search のインストール/書き出しの確認の説明に従って、書き出されたカタログデータを確認します。
- 30 分後、ユーザードキュメントの Live Search のインストール/接続のテストの説明に従って接続をテストします。
または
- カタログに新しい商品を追加します。
- Magentoインデクサーと cron がデータをバックエンドサービスに同期させるために実行してから 15~20 分後に、製品名またはその他の検索可能な属性を使用して検索クエリを実行してみてください。
期待される結果
- 書き出されたカタログ データを確認できます
- 接続に成功しました
- 検索結果に新製品が表示されます。
実際の結果
API キーが変更されたため、エクスポートされたカタログを確認できないか、接続が確立されていません。
解決策
カタログの同期に関する問題を修正する方法はいくつかあります。
変更が適用されるのを待ちます
設定して接続すると、ES (Elasticsearch)のインデックスが作成され、検索結果が返されるまで、30 分以上かかる場合があります。 その後の 1 回限りの製品アップデートは、数分以内にインデックスが作成される予定です。
特定の SKU の製品データを同期
特定の SKU に対して製品データが正しく同期されていない場合は、次の操作をおこないます。
-
次の SQL クエリを使用して、
feed_data
の列に目的のデータが入力されていることを確認します。 また、modified_at
タイムスタンプもメモしておきます。code language-sql select * from cde_products_feed where sku = '<your_sku>' and store_view_code = '<your_ store_view_code>';
-
正しいデータが表示されない場合は、次のコマンドを使用して再インデックスを実行し、手順 1 で SQL クエリを再実行してデータを確認します。
code language-bash bin/magento indexer:reindex cde_products_feed
-
それでも正しいデータが表示されない場合は、 サポートチケットを作成します。
前回の製品書き出しのタイムスタンプを確認
-
cde_products_feed
に正しいデータが表示された場合は、次の SQL クエリを使用して、最後の書き出しのタイムスタンプを確認します。modified_at
タイムスタンプの後にする必要があります。code language-sql select * from scopes_website_data_exporter;
-
タイムスタンプが古い場合は、次の cron 実行を待つか、次のコマンドを使用して自分でトリガーすることができます。
code language-bash bin/magento cron:run --group=saas_data_exporter
-
<>
時間(増分更新の時間)待ちます。 それでもデータが表示されない場合は、 サポートチケットを作成します。
特定の属性コードを同期
特定の属性コードに対して製品属性データが正しく同期されていない場合は、次の操作を行います。
-
次の SQL クエリを使用して、
feed_data
の列に目的のデータが入力されていることを確認します。 また、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>';
-
正しいデータが表示されない場合は、次のコマンドを使用して再インデックスを実行し、手順 1 で SQL クエリを再実行してデータを検証します。
code language-bash bin/magento indexer:reindex cde_product_attributes_feed
-
それでも正しいデータが表示されない場合は、 サポートチケットを作成します。
最後の製品属性エクスポートのタイムスタンプを確認します
cde_product_attributes_feed
に正しいデータが表示される場合:
-
次の SQL クエリを使用して、前回の書き出しのタイムスタンプを確認します。
modified_at
タイムスタンプの後にする必要があります。code language-sql select * from scopes_website_data_exporter;
-
タイムスタンプが古い場合は、次の cron 実行を待つか、次のコマンドを使用して自分でトリガーすることができます。
code language-bash bin/magento cron:run --group=saas_data_exporter
-
15~20 分待ちます(増分更新のための時間)。 それでもデータが表示されない場合は、 サポートチケットを作成してください。
API 設定の変更後に同期
(既知の問題) API 設定を変更した場合、その結果データ領域 ID が変更され、カタログの変更が同期されなくなっている場合は、次のコマンドを実行してください。
bin/magento saas:resync --feed products
bin/magento saas:resync --feed productattributes
関連資料
- ユーザードキュメントの オンボーディング Live Search
- Adobe Commerce SaaS データ書き出しガイドの ログの確認とAdobe Commerce SaaS データの書き出しと同期のトラブルシューティング
- Commerce実装プレイブックの データベーステーブルを変更する際のベストプラクティス