[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、または8.4
  • 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以降
IMPORTANT
HIPAA対応
ライブサーチはHIPAA対応サービスではありません。 HIPAA対応の拡張機能とヘルスケアアドオンでAdobe Commerceを使用している場合は、保護された健康情報(PHI)を処理する可能性がある環境でライブサーチを有効にしないでください。
詳しくは、HIPAA対応Adobe Commerceおよび操作 ガイダンスを参照してください。このガイダンスでは、HIPAA対応ではないCommerce サービスの中からライブサーチをリストしています。

ワークフローの概要

Live Searchをオンボーディングするには、次の操作が必要です。

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

Live Searchは、Adobe MarketplaceComposerの拡張機能としてインストールされています。 Live Searchをインストールして設定すると、Adobe CommerceはSaaS サービスとの検索データとカタログデータの共有を開始します。 この時点で、管理者​のユーザーは、検索ファセット、類義語、マーチャンダイジングルールを設定、カスタマイズ、管理できます。

新しいCommerce インスタンス

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

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

  2. Composerを使用して、ライブ検索モジュールをプロジェクトに追加します。

    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をインストールします。 OpenSearchとLive Searchの両方を同じCommerce インスタンスで有効にすることはできません。

    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を使用して、ライブ検索モジュールをプロジェクトに追加します。

    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
    OpenSearchとLive Searchの両方を同じCommerce インスタンスで有効にすることはできません。 disable コマンドには、OpenSearchをサポートするCommerce モジュールのリストが含まれます。 Commerce インスタンスにモジュールがインストールされていない場合は、module does not exist エラーが表示されます。
  8. アップデートのインストール。

    code language-bash
    bin/magento setup:upgrade
    

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

​2. API キーの設定 configure

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

API キーの設定方法については、Commerce Services Connectorの記事を参照してください。

​3. カタログデータの同期 sync

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. データが書き出されたことを確認する verify

カタログデータが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 referenceを参照)、次の点を確認します。

    • 返品商品数は、ストアビューに期待した数に近いです。
    • ファセットが返されます。

追加のヘルプについては、サポート サポート サポート技術情報の「Live Search カタログが同期されていません」を参照してください。

​5. データの設定 configuredata

商品データを正しく設定すれば、顧客にとって適切な検索結果を提供できます。 この節では、製品リストウィジェットを有効にして、カテゴリを割り当てます。

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

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 Widgets​をYesに設定します。

    製品リストウィジェットを有効にする

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

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

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

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

カテゴリの割り当て

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

​6. 接続のテスト test

SaaSにカタログデータを取り込んだ状態で、テストして次のシナリオで商品データが返されるようにします。

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

すべてが正しく動作すれば、Live Searchはインストールされ、接続され、使用する準備ができています。

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

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

​7. イベントがデータをキャプチャしていることを確認する capture

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

​8. ストアフロント向けにカスタマイズ customize

Live Search拡張機能がインストールされ、データが同期され、検証され、設定されました。 次のステップは、Live Search ウィジェットがストアのルックアンドフィールに準拠していることを確認することです。

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

ウィジェットの機能を拡張する場合は、各ウィジェットのソースコードを公開リポジトリで利用できます。
この場合、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 プレイグラウンドにアクセスして、管理者​からクエリをテストできるようにします。
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とCommerce core GraphQL APIには完全なパリティがありません。

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

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

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

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

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

最新バージョンの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
英語
United Kingdom
en_GB
en_GB
英語
United States
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
日本語
日本
ja_JP
ja_JP
韓国語
韓国
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
スウェーデン語
スウェーデン
sv_SE
sv_SE
タイ語
タイ
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に移動します。

また、管理者は検索インデックス ​の言語を設定して、より良い検索結果を表示できるようにすることもできます。

Widget コードリポジトリ

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

このコードにアクセスできる開発者は、その仕組みや見た目を完全にカスタマイズすることができます。 独自のサーバーでコードをホストしますが、Live Search サービスを使用します。

データ書き出し拡張機能

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

Inventory management

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

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

価格インデクサー

Live Searchのお客様はSaaS価格インデクサーを使用できます。これにより、価格変更の更新と同期時間を短縮できます。

価格サポート

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

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

  • コスト
  • 最低広告価格

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

価格フォーマットは、Commerce インスタンス内のロケール設定をサポートしています:Stores > Settings > Configuration > General > General > Local Options > Locale.

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

オプションとして、ストアフロントの行動データ収集に必要なフィールドを含めるように、アプリケーションの既存の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