[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

Live Search で成功するための設定

Adobe Commerce Live Search と Catalog Service は連携して、パフォーマンスが高く関連性の高い直感的な検索ソリューションを提供し、顧客が必要なものを正確かつ迅速に見つけられるようにします。 特に、Catalog Service は、使用する Live Search など、SaaS サービスのカタログデータを表示します。

この記事では、Live Search を使用して Catalog Service を実装する手順を説明します。

オーディエンス

この記事は、Adobe Commerce インスタンスのインストールと設定を担当するデベロッパーまたはシステムインテグレーターを対象としています。

要件

  • Adobe Commerce 2.4.4 以降
  • PHP 8.1、8.2、または 8.3
  • Composer
  • Cron ジョブとインデクサーの実行
IMPORTANT
Live Search を実装する前に、​ 境界と制限 ​ の節を参照して、ビジネスニーズに適合する Live Search とを確認してください。

重要な更新

  • Live Search 3.0.2 の時点では、Catalog Service 拡張機能はインストールにバンドルされています。

サポートされるプラットフォーム

  • クラウド上のAdobe Commerce(ECE) :2.4.4 以降
  • Adobe Commerce オンプレミス(EE) :2.4.4 以降

ワークフローの概要

大まかに言えば、オンボーディング Live Search では、次の操作が必要です。

  1. ​ 拡張機能の ​ インストール Live Search
  2. API キーの ​ 設定 ​
  3. カタログデータの ​ 同期 ​
  4. カタログ データがエクスポートされたことを ​ 確認 ​ します
  5. データ 🔗 設定)
  6. ​ テスト ​ 接続
  7. イベントでデータがキャプチャされていることを ​ 検証 ​ します
  8. ストアフロントの ​ カスタマイズ ​

​1. Live Search 拡張機能をインストールする

Live Search は、Adobe Marketplace} から {Composer を通じて拡張機能と ​ てインストールさ ​ ます。 Live Search をインストールして設定すると、Adobe Commerce は検索とカタログデータの SaaS サービスとの共有を開始します。 この時点で、管理者 ユーザーは、検索ファセット、同義語およびマーチャンダイジングルールの設定、カスタマイズおよび管理を行うことができます。

新しいCommerce インスタンス

新しいCommerce インスタンスに Live Search をインストールする場合は、次の手順に従います。

  1. cron ジョブ ​​ インデクサー ​ が実行中であることを確認します。

  2. Composer を使用して、Live Search モジュールをプロジェクトに追加します。

    code language-bash
    composer require magento/live-search --no-update
    
  3. 依存関係を更新し、拡張機能をインストールします。

    code language-bash
    composer update magento/live-search --with-dependencies
    
  4. OpenSearch および関連モジュールを無効にし、Live Search をインストールします。 同じCommerce インスタンスで OpenSearch と Live Search の両方を有効にすることはできません。

    code language-bash
    bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch8 Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
    

    Elasticsearch サービス Live Search、バックグラウンドでカタログデータとインデックス製品を同期している間、はストアフロントからの検索要求を引き続き管理します。

  5. アップデートをインストールします。

    code language-bash
    bin/magento setup:upgrade
    
  6. 次の ​ インデクサー ​ が「スケジュールに従って更新」に設定されていることを確認します。

    • 製品フィード
    • 製品バリアントフィード
    • カタログ属性フィード
    • 製品価格フィード
    • Scopes Web サイトデータフィード
    • 範囲顧客グループデータフィード
    • カテゴリフィード
    • カテゴリ権限フィード

インデクサーを検証したら、次の手順は API キーを設定 ​ します。

既存のCommerce インスタンス

既存のCommerce インスタンスに Live Search をインストールする場合は、次の手順に従います。

  1. cron ジョブ ​​ インデクサー ​ が実行中であることを確認します。

  2. Composer を使用して、Live Search モジュールをプロジェクトに追加します。

    code language-bash
    composer require magento/live-search --no-update
    
  3. 依存関係を更新し、拡張機能をインストールします。

    code language-bash
    composer update magento/live-search --with-dependencies
    
  4. ストアフロントの検索結果を提供する Live Search モジュールを無効にします。

    code language-bash
    bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
    

    Elasticsearch サービス Live Search、バックグラウンドでカタログデータとインデックス製品を同期している間、はストアフロントからの検索要求を引き続き管理します。

  5. アップデートをインストールします。

    code language-bash
    bin/magento setup:upgrade
    
  6. 次の ​ インデクサー ​ が「スケジュールに従って更新」に設定されていることを確認します。

    • 製品フィード
    • 製品バリアントフィード
    • カタログ属性フィード
    • 製品価格フィード
    • Scopes Web サイトデータフィード
    • 範囲顧客グループデータフィード
    • カテゴリフィード
    • カテゴリ権限フィード
  7. Live Search 拡張機能を有効にし、OpenSearch (Magento Elasticsearchおよび OpenSearch モジュール)を無効にします。

    code language-bash
    bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover  Magento_LiveSearchProductListing
    
    code language-none
    bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_Elasticsearch8 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
    
    note note
    NOTE
    disable コマンドには、OpenSearch をサポートするCommerce モジュールのリストが含まれています。 Commerce インスタンスにモジュールがインストールされていない場合は、module does not exist エラーが表示されます。
  8. アップデートをインストールします。

    code language-bash
    bin/magento setup:upgrade
    

インデクサーを検証したら、次の手順は API キーを設定 ​ します。

​2. API キーの設定

Adobe Commerce API キーとそれに関連する秘密鍵は、Adobe Commerceのインストールに接続する Live Search めに必要です。 API キーは、Commerce のライセンス所有者のアカウントで生成および管理され、開発者またはシステムインテグレーターと共有できます。 その後、開発者は、ライセンス所有者に代わって SaaS データスペースを作成および管理できます。 既に一連の API キーがある場合は、それらを再生成する必要はありません。

API キーを設定する方法については、Commerce サービスコネクタ ​ の記事を参照してください。

​3. カタログデータを同期する

Live Search は、カタログデータをAdobeの SaaS インフラストラクチャに移動します。 データにインデックスが作成され、検索結果はこのインデックスからストアフロントに直接配信されます。 サイズと複雑さに応じて、インデックス作成に 30 分から数時間かかる場合があります。

カタログ データを SaaS サービスに初期同期するには、次のコマンドをこの順序で実行します。

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

これらのコマンドを実行すると、カタログ データの SaaS サービスへの初期同期が開始されます。

WARNING
同期中は、検索およびカテゴリ参照操作を使用できません。 カタログのサイズによっては、この処理に 1 時間以上かかる場合があります。

同期の進行状況の監視

​ データ管理ダッシュボード ​ を使用して、同期の進行状況を監視します。 このダッシュボードは、ストアフロントでの製品データの可用性に関する貴重なインサイトを提供し、顧客に迅速に表示できるようにします。

データ管理ダッシュボード

また、Commerce CLI およびデータ書き出し拡張機能のログを使用して、同期コマンドを実行し、同期プロセスのトラブルシューティングを行うこともできます。

今後の製品アップデート

初回同期後、製品の増分更新がストアフロント検索で使用できるようになるまで最大 15 分かかる場合があります。 詳しくは、インデックス作成ドキュメントの ​ 製品アップデートのストリーミング ​ を参照してください。

​4. データが書き出されたことを確認する

カタログデータがAdobe Commerceから書き出され、Live Search と同期されているかどうかを確認するには、次のいずれかの方法を使用します。

  • 次の表のエントリを探します。

    • cde_products_feed
    • cde_product_attributes_feed
    note note
    NOTE
    table does not exist エラーが発生した場合は、catalog_data_exporter_products テーブルと catalog_data_exporter_product_attributes テーブルでエントリを探します。 これらのテーブル名は、4.2.1 より前の Live Search バージョンで使用されます。
  • GraphQL playground をデフォルトのクエリで使用して(詳しくは GraphQL リファレンス ​ を参照)、次の点を確認してください。

    • 返される製品数は、ストア表示で期待される数に近くなります。
    • ファセットが返されます。

その他のヘルプについては、サポートナレッジベースの Live Search 同期されていないカタログ ​ を参照してください。

​5. データを設定する

製品データを正しく設定すると、顧客に適した検索結果が得られます。 このセクションでは、製品リストウィジェットを有効にし、カテゴリを割り当てます。

製品リストウィジェットの有効化

Live Search 4.0.0 以降をインストールすると、製品リストへのウィジェットはデフォルトで有効になります。 ウィジェットを有効にすると、検索結果やカテゴリ参照製品リストページに別の UI コンポーネントが使用されます。 この UI コンポーネントは、Catalog Service API を直接呼び出すことで、応答時間を短縮します。

バージョン 4.0.0 以降の Live Search がある場合は、手動で製品一覧ウィジェットを有効にする必要があります。

  1. 管理者 から、Stores/Settings/Configuration​に移動します。

  2. Live Search」で、「Storefront Features」を選択します。

  3. Enable Product Listing WidgetsYes に設定します。

    製品リストウィジェットの有効化

この設定を変更すると、Page cache is invalidated というメッセージが表示されます。 Magentoのキャッシュをフラッシュして、変更内容を保存する必要があります。

  1. 次のいずれかの操作を行って、​ キャッシュ管理 ​ ページにアクセスします。

    • ワークスペースの上にあるメッセージ内の「Cache Management」リンクをクリックします。
    • 管理者 サイドバーで、System/Tools/Cache Management​に移動します。
  2. Configuration​Cache Type を選択し、「Flush Magento Cache」をクリックします。

    ストアフロントに対する変更は、キャッシュをフラッシュした直後に行われます。

カテゴリの割り当て

Live Search で返された製品は、​ カテゴリ ​ に割り当てられている必要があります。 例えば Luma では、製品が「男性」、「女性」、「歯車」などのカテゴリに分類されます。 サブカテゴリも「トップス」、「ボトムス」、「ウォッチポイント」に設定されます。 これらのカテゴリの割り当てにより、フィルタリング時の精度が向上します。

6.接続をテストする

カタログデータを SaaS にして、テストを行い、次のシナリオで製品データが返されることを確認します。

  • Search ボックスは正しく結果を返します
  • カテゴリの参照で結果が正しく返される
  • ファセットは、検索結果ページでフィルターとして使用できます

すべてが正しく動作している場合は、Live Search がインストールされ、接続され、使用できる状態になっています。

ストアフロントで問題が発生した場合は、var/log/system.log ファイルで API 通信の失敗やサービス側のエラーを確認します。

ファイアウォールを通過する Live Search を許可するには、commerce.adobe.io を許可リストに追加します。

​7. イベントでデータが取り込まれていることを確認する

サイトにデプロイしたストアフロントイベントが機能していることを確認します。 このチェックは、ヘッドレス実装で特に重要です。

​8. ストアフロントに合わせたカスタマイズ

Live Search 拡張機能のインストール、データの同期、検証および設定が完了していること。 次の手順では、Live Search ウィジェットがストアのルックアンドフィールに合っていることを確認します。

ポップオーバーウィジェットと PLP ウィジェットのスタイルを設定するには、必要に応じてカスタム CSS ルールを定義します。 ​ ポップオーバー要素のスタイル設定 ​ および ​ 製品一覧表示ページウィジェット ​ を参照してください。

ウィジェットの機能を拡張する場合は、各のソースコードを公開リポジトリで入手できます。
このシナリオでは、独自のニーズに合わせてJavaScriptをカスタマイズし、カスタムコードを CDN でホストできます。 このカスタムスクリプトは、Live Search サービスと通信し、通常と同様の結果を返すので、ウィジェットの機能を制御できます。

Live Search を更新中

Live Search を更新する前に、Composer を使用してインストールされている Live Search のバージョンを確認します。

composer show magento/module-live-search | grep version

Live Search を更新するには、コマンドラインから次のコマンドを実行します。

composer update magento/live-search --with-dependencies

3.1.1 から 4.0.0 などのメジャーバージョンにアップデートするには、プロジェクトのルート Composer .json ファイルを次のように編集します。

  1. 現在インストールされている magento/live-search のバージョンが 3.1.1 以下で、バージョン 4.0.0 以降にアップグレードする場合は、アップグレードの前に次のコマンドを実行します。

    code language-bash
    bin/magento module:enable Magento_AdvancedSearch
    

    現在インストールされている magento/live-search バージョンについて詳しくは、次のコマンドを実行してください。

    code language-bash
    composer show magento/live-search
    
  2. ルート composer.json ファイルを開き、magento/live-search を検索します。

  3. require セクションで、バージョン番号を次のように更新します。

    code language-json
    "require": {
       ...
       "magento/live-search": "^4.0",
       ...
     }
    
  4. 保存 composer.json ます。 コマンドラインから次のコマンドを実行します。

    code language-bash
    composer update magento/live-search --with-dependencies
    

Live Search のアンインストール

Live Search をアンインストールするには、​ モジュールのアンインストール ​ を参照してください。

Live Search パッケージ

Live Search 拡張機能は、次のパッケージで構成されています。

パッケージ
説明
module-live-search
を使用すると、マーチャントは、ファセット、同義語、クエリルールなどの検索設定を指定したり、読み取り専用のGraphQL プレイグラウンドにアクセスして Admin からクエリをテストしたりできます。
module-live-search-adapter
検索リクエストをストアフロントから Live Search サービスにルーティングし、結果をストアフロントにレンダリングします。
- カテゴリの参照 – ストアフロント ​ 上部のナビゲーション ​ から検索サービスにリクエストをルーティングします。
- グローバル検索 – 「​ クイック検索 ​」フィールドからリク Live Search ストを配信サービスにルーティングします。 クイック検索フィールドは、ストアフロントページの右上隅にあります。
module-live-search-storefront-popover
「入力中に検索」ポップオーバーは、標準のクイック検索に代わるもので、上位の検索結果のデータとサムネールを返します。

Live Search 依存関係

Composer 拡張機能をインストールするための Live Search メタパッケージには、次のモジュール依存関係が含まれています。

  • 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

高度な概念

以下のセクションでは、Live Search と Catalog Service を使用する際の、より高度なトピックを示します。

エンドポイント

Live Search は、https://catalog-service.adobe.io/graphql のエンドポイントを介して通信します。

Live Search は全製品データベースにアクセスできないので、Live Search GraphQL API とCommerce Core GraphQL API は同等ではありません。

Adobeでは、SaaS API (特にカタログサービスエンドポイント)を直接呼び出すことをお勧めします。

  • Commerce データベース/Graphql プロセスをバイパスすることで、パフォーマンスを向上させ、プロセッサー負荷を軽減します。
  • Catalog Service フェデレーションを活用して、1 つのエンドポイントから Live Search、Catalog Service、Product Recommendations を呼び出します。

一部のユースケースでは、製品の詳細や同様のケースについては、Catalog Service に問い合わせることをお勧めします。 詳細については、「refineProduct」を参照してください。

カスタムヘッドレス実装がある場合は、Live Search のリファレンス実装を確認してください。

検索アダプター、Luma ウィジェット、AEM CIF ウィジェットなどの標準コンポーネントを使用しない場合、ユーザーインタラクションデータの自動収集はデフォルトでは機能しません。 Adobe Senseiでは、この収集されたデータを使用して、インテリジェントなマーチャンダイジングとパフォーマンスのトラッキングを行います。 この問題を解決するには、このデータ収集をヘッドレスで実装するカスタムソリューションを開発する必要があります。

Live Search の最新バージョンでは、既に Catalog Service が使用されています。

言語サポート

Live Search ウィジェットは次の言語をサポートしています。

言語
地域
言語コード
Magento ロケール
ブルガリア語
ブルガリア
bg_BG
bg_BG
カタルニア語
スペイン
ca_ES
ca_ES
チェコ語
チェコ共和国
cs_CZ
cs_CZ
デンマーク語
デンマーク
da_DK
da_DK
ドイツ語
ドイツ
de_DE
de_DE
ギリシャ語
ギリシャ
el_GR
el_GR
英語
英国
en_GB
en_GB
英語
米国
en_US
en_US
スペイン語
スペイン
es_ES
es_ES
エストニア語
エストニア
et_EE
et_EE
バスク語
スペイン
eu_ES
eu_ES
ペルシャ語
イラン
fa_IR
fa_IR
フィンランド語
フィンランド
fi_FI
fi_FI
フランス語
フランス
fr_FR
fr_FR
ガリシア語
スペイン
gl_ES
gl_ES
ヒンディー語
インド
hi_IN
hi_IN
ハンガリー語
ハンガリー
hu_HU
hu_HU
インドネシア
インドネシア
id_ID
id_ID
イタリア語
イタリア
it_IT
it_IT
韓国語
韓国
ko_KR
ko_KR
リトアニア語
リトアニア
lt_LT
lt_LT
ラトビアン
ラトビア
lv_LV
lv_LV
ノルウェー語
ノルウェーブークマル
nb_NO
nb_NO
オランダ語
オランダ
nl_NL
nl_NL
ポーランド語
ポーランド
pl_PL
pl_PL
ポルトガル語
ブラジル
pt_BR
pt_BR
ポルトガル語
ポルトガル
pt_PT
pt_PT
ルーマニア語
ルーマニア
ro_RO
ro_RO
ロシア
ロシア
ru_RU
ru_RU
スウェーデン語
スウェーデン
参照(_S)
参照(_S)
タイ語
タイ
th_TH
th_TH
トルコ語
トルコ
tr_TR
tr_TR
中国語
中国
zh_CN
zh_Hans_CN
中国語
台湾
zh_TW
zh_Hant_TW

Commerce管理者の言語設定がサポートされている言語と一致することが検出された場合、デフォルトではその言語に設定されます。 それ以外の場合、ウィジェットのデフォルト値は英語になります。 管理者で、Stores/Settings/Configuration/General/Country Options に移動して、言語設定を指定します。

また、管理者は ​ 検索インデックス ​ の言語を設定して、検索結果を向上させることもできます。

ウィジェットコードリポジトリー

製品一覧表示ページウィジェットと Live Search フィールドウィジェットのコードは、GitHub からダウンロードできます。

コードにアクセスできる開発者は、その動作と外観を完全にカスタマイズできます。 独自のサーバーでコードをホストしますが、Live Search サービスは引き続き使用します。

データエクスポート拡張機能

Live Search を有効にすると、データの書き出し拡張機能によって、Commerce アプリケーションと Live Search の間でCommerce データが同期されます。 このプロセスにより、最新のCommerce データをストアフロントで確実に利用できるようになります。 管理者では、データ管理ダッシュボードを使用して同期ステータスを確認できます。 Commerce CLI とログを使用して、データのエクスポートプロセスを管理およびトラブルシューティングできます。 詳しくは、​ データの書き出しガイド ​ を参照してください。

Inventory management

Live Search は、Commerce(旧称:マルチSourceインベントリ、MSI)で Inventory management 機能をサポートしています。 完全なサポートを有効にするには、依存関係モジュールをバージョン 102.2.0 以降に ​ 更新 ​ する必要 commerce-data-export あります。

Live Search は、商品がInventory management内で使用可能かどうかを示すブール値を返しますが、どのソースが在庫を持っているかに関する情報は含まれません。

価格インデクサー

Live Search のお客様は、より迅速な価格変更アップデートと同期時間を提供する SaaS 価格インデクサー ​ を使用できます。

価格サポート

Live Search ウィジェットは、Adobe Commerceでサポートされている価格タイプの大半をサポートしていますが、すべての価格タイプをサポートしているわけではありません。

現在、基本価格がサポートされています。 サポートされていない高度な価格は次のとおりです。

  • コスト
  • 広告の最低価格

より複雑な価格計算については、API メッシュ ​ を参照してください。

価格フォーマットは、Commerce インスタンス内の次のロケール設定をサポートしています。ストア /設定/ 設定 /一般/ 一般 / ローカルオプション / ロケール

ヘッドレスストアフロントのサポート

オプションで、アプリケーションの既存のGraphQL範囲を拡張する module-data-services-graphql モジュールをインストールし、ストアフロントの行動データ収集に必要なフィールドを含める必要が生じる場合があります。

composer require magento/module-data-services-graphql

このモジュールは、GraphQL クエリにコンテキストを追加します。

  • dataServicesStorefrontInstanceContext
  • dataServicesMagentoExtensionContext
  • dataServicesStoreConfigurationContext

B2B サポート

Live Search では、追加の ​ 制限事項 ​ を追加して 🔗B2B 機能をサポートしています。

PWA サポート

Live Search はPWA Studioで動作しますが、他のCommerceの実装と比較すると、わずかな違いがあります。 検索や製品リストのページなどの基本的な機能は Venia で機能しますが、Graphql の一部の並べ替えが正しく機能しない場合があります。 パフォーマンスの違いもあります。

  • Live Search の現在のPWA実装では、検索結果を返すのにネイティブのCommerce ストアフロントよりも多くの処理時間 Live Search 必要です。
  • PWAの Live Search は、​ イベント処理 ​ をサポートしていません。 その結果、検索レポートとインテリジェントマーチャンダイジングがPWAのストアフロントで機能しません。
  • PWA Studio を使用する場合、GraphQLは descriptionnameshort_description に対する直接フィルタリングをサポートしていませんが、これらのフィールドはより一般的なフィルターで返すことができます。

PWA Studioで Live Search を使用する場合、インテグレーターは次の要件も満たす必要があります。

  1. livesearch-storefront-utils をインストールします。

  2. environmentId オブジェクトに storeDetails を設定します。

    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: "$",
            },
        };
    

Live Search は、検索機能を向上させるためにユーザーインタラクションデータを収集し、この情報をブラウザー cookie に保存します。 Cookie 制限が有効な場合、このデータ収集にはユーザーの同意が必要です。 Live Search と Product Recommendations は、同じデータ収集メカニズムと cookie の処理を共有しています。 Cookie の制限とプライバシーコンプライアンスについて詳しくは、「Cookie 制限の処理 ​」を参照してください。

recommendation-more-help
8eedb3c4-09d2-4e4f-917b-524833fc6b4f