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 ジョブとインデクサーの実行
重要な更新
- Live Search 3.0.2 の時点では、Catalog Service 拡張機能はインストールにバンドルされています。
サポートされるプラットフォーム
- クラウド上のAdobe Commerce(ECE) :2.4.4 以降
- Adobe Commerce オンプレミス(EE) :2.4.4 以降
ワークフローの概要
大まかに言えば、オンボーディング Live Search では、次の操作が必要です。
1. Live Search 拡張機能をインストールする
Live Search は、Adobe Marketplace} から {Composer を通じて拡張機能と てインストールさ ます。 Live Search をインストールして設定すると、Adobe Commerce は検索とカタログデータの SaaS サービスとの共有を開始します。 この時点で、管理者 ユーザーは、検索ファセット、同義語およびマーチャンダイジングルールの設定、カスタマイズおよび管理を行うことができます。
新しいCommerce インスタンスに Live Search をインストールする場合は、次の手順に従います。
-
cron ジョブ と インデクサー が実行中であることを確認します。
-
Composer を使用して、Live Search モジュールをプロジェクトに追加します。
code language-bash composer require magento/live-search --no-update -
依存関係を更新し、拡張機能をインストールします。
code language-bash composer update magento/live-search --with-dependencies -
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_ElasticsearchCatalogPermissionsGraphQlElasticsearch サービス Live Search、バックグラウンドでカタログデータとインデックス製品を同期している間、はストアフロントからの検索要求を引き続き管理します。
-
アップデートをインストールします。
code language-bash bin/magento setup:upgrade -
次の インデクサー が「スケジュールに従って更新」に設定されていることを確認します。
- 製品フィード
- 製品バリアントフィード
- カタログ属性フィード
- 製品価格フィード
- Scopes Web サイトデータフィード
- 範囲顧客グループデータフィード
- カテゴリフィード
- カテゴリ権限フィード
インデクサーを検証したら、次の手順は API キーを設定 します。
既存のCommerce インスタンスに Live Search をインストールする場合は、次の手順に従います。
-
cron ジョブ と インデクサー が実行中であることを確認します。
-
Composer を使用して、Live Search モジュールをプロジェクトに追加します。
code language-bash composer require magento/live-search --no-update -
依存関係を更新し、拡張機能をインストールします。
code language-bash composer update magento/live-search --with-dependencies -
ストアフロントの検索結果を提供する Live Search モジュールを無効にします。
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListingElasticsearch サービス Live Search、バックグラウンドでカタログデータとインデックス製品を同期している間、はストアフロントからの検索要求を引き続き管理します。
-
アップデートをインストールします。
code language-bash bin/magento setup:upgrade -
次の インデクサー が「スケジュールに従って更新」に設定されていることを確認します。
- 製品フィード
- 製品バリアントフィード
- カタログ属性フィード
- 製品価格フィード
- Scopes Web サイトデータフィード
- 範囲顧客グループデータフィード
- カテゴリフィード
- カテゴリ権限フィード
-
Live Search 拡張機能を有効にし、OpenSearch (Magento Elasticsearchおよび OpenSearch モジュール)を無効にします。
code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListingcode language-none bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_Elasticsearch8 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQlnote note NOTE disable コマンドには、OpenSearch をサポートするCommerce モジュールのリストが含まれています。 Commerce インスタンスにモジュールがインストールされていない場合は、 module does not existエラーが表示されます。 -
アップデートをインストールします。
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 サービスへの初期同期が開始されます。
同期の進行状況の監視
データ管理ダッシュボード を使用して、同期の進行状況を監視します。 このダッシュボードは、ストアフロントでの製品データの可用性に関する貴重なインサイトを提供し、顧客に迅速に表示できるようにします。
また、Commerce CLI およびデータ書き出し拡張機能のログを使用して、同期コマンドを実行し、同期プロセスのトラブルシューティングを行うこともできます。
今後の製品アップデート
初回同期後、製品の増分更新がストアフロント検索で使用できるようになるまで最大 15 分かかる場合があります。 詳しくは、インデックス作成ドキュメントの 製品アップデートのストリーミング を参照してください。
4. データが書き出されたことを確認する
カタログデータがAdobe Commerceから書き出され、Live Search と同期されているかどうかを確認するには、次のいずれかの方法を使用します。
-
次の表のエントリを探します。
cde_products_feedcde_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 がある場合は、手動で製品一覧ウィジェットを有効にする必要があります。
-
管理者 から、Stores/Settings/Configurationに移動します。
-
「Live Search」で、「Storefront Features」を選択します。
-
Enable Product Listing Widgets を
Yesに設定します。
この設定を変更すると、Page cache is invalidated というメッセージが表示されます。 Magentoのキャッシュをフラッシュして、変更内容を保存する必要があります。
-
次のいずれかの操作を行って、 キャッシュ管理 ページにアクセスします。
- ワークスペースの上にあるメッセージ内の「Cache Management」リンクをクリックします。
- 管理者 サイドバーで、System/Tools/Cache Managementに移動します。
-
ConfigurationCache Type を選択し、「Flush Magento Cache」をクリックします。
ストアフロントに対する変更は、キャッシュをフラッシュした直後に行われます。
カテゴリの割り当て
Live Search で返された製品は、 カテゴリ に割り当てられている必要があります。 例えば Luma では、製品が「男性」、「女性」、「歯車」などのカテゴリに分類されます。 サブカテゴリも「トップス」、「ボトムス」、「ウォッチポイント」に設定されます。 これらのカテゴリの割り当てにより、フィルタリング時の精度が向上します。
6.接続をテストする
カタログデータを SaaS にして、テストを行い、次のシナリオで製品データが返されることを確認します。
- Search ボックスは正しく結果を返します
- カテゴリの参照で結果が正しく返される
- ファセットは、検索結果ページでフィルターとして使用できます
すべてが正しく動作している場合は、Live Search がインストールされ、接続され、使用できる状態になっています。
ストアフロントで問題が発生した場合は、var/log/system.log ファイルで API 通信の失敗やサービス側のエラーを確認します。
ファイアウォールを通過する Live Search を許可するには、commerce.adobe.io を許可リストに追加します。
7. イベントでデータが取り込まれていることを確認する
サイトにデプロイしたストアフロントイベントが機能していることを確認します。 このチェックは、ヘッドレス実装で特に重要です。
- リク ストに必要な イベント Live Search を確認します。
- ライブ検索ダッシュボード に実稼動以外の環境のデータが表示されていることを確認します。
- イベント コレクションの検証 .
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 ファイルを次のように編集します。
-
現在インストールされている
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 -
ルート
composer.jsonファイルを開き、magento/live-searchを検索します。 -
requireセクションで、バージョン番号を次のように更新します。code language-json "require": { ... "magento/live-search": "^4.0", ... } -
保存
composer.jsonます。 コマンドラインから次のコマンドを実行します。code language-bash composer update magento/live-search --with-dependencies
Live Search のアンインストール
Live Search をアンインストールするには、 モジュールのアンインストール を参照してください。
Live Search パッケージ
Live Search 拡張機能は、次のパッケージで構成されています。
module-live-searchmodule-live-search-adapter- カテゴリの参照 – ストアフロント 上部のナビゲーション から検索サービスにリクエストをルーティングします。
- グローバル検索 – 「 クイック検索 」フィールドからリク Live Search ストを配信サービスにルーティングします。 クイック検索フィールドは、ストアフロントページの右上隅にあります。
module-live-search-storefront-popoverLive Search 依存関係
Composer 拡張機能をインストールするための Live Search メタパッケージには、次のモジュール依存関係が含まれています。
magento/module-saas-catalogmagento/module-saas-categorymagento/module-saas-category-permissionsmagento/module-saas-product-overridemagento/module-saas-product-variantmagento/module-saas-pricemagento/module-saas-scopesmagento/module-bundle-product-data-exportermagento/module-catalog-inventory-data-exportermagento/module-catalog-url-rewrite-data-exportermagento/module-configurable-product-data-exportermagento/module-parent-product-data-exportermagento/module-gift-card-product-data-exportermagento/module-bundle-product-override-data-exporterdata-servicesservices-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 ウィジェットは次の言語をサポートしています。
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 クエリにコンテキストを追加します。
dataServicesStorefrontInstanceContextdataServicesMagentoExtensionContextdataServicesStoreConfigurationContext
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は
description、name、short_descriptionに対する直接フィルタリングをサポートしていませんが、これらのフィールドはより一般的なフィルターで返すことができます。
PWA Studioで Live Search を使用する場合、インテグレーターは次の要件も満たす必要があります。
-
livesearch-storefront-utils をインストールします。
-
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: "$", }, };
の Cookie
Live Search は、検索機能を向上させるためにユーザーインタラクションデータを収集し、この情報をブラウザー cookie に保存します。 Cookie 制限が有効な場合、このデータ収集にはユーザーの同意が必要です。 Live Search と Product Recommendations は、同じデータ収集メカニズムと cookie の処理を共有しています。 Cookie の制限とプライバシーコンプライアンスについて詳しくは、「Cookie 制限の処理 」を参照してください。