Live Search で成功するための設定
Adobe Commerce Live Search と Catalog Service は連携して、パフォーマンスが高く関連性の高い直感的な検索ソリューションを提供し、顧客が必要なものを正確かつ迅速に見つけられるようにします。 特に、Catalog Service は、使用する Live Search など、SaaS サービスのカタログデータを表示します。
この記事では、Catalog Service を使用して Live Search を実装する手順を説明します。
オーディエンス
この記事は、Adobe Commerce インスタンスのインストールと設定を担当するデベロッパーまたはシステムインテグレーターを対象としています。
要件
- Adobe Commerce 2.4.4 以降
- PHP 8.1 / 8.2 / 8.3
- Composer
サポートされるプラットフォーム
- クラウド上のAdobe Commerce(ECE) :2.4.4 以降
- Adobe Commerce オンプレミス(EE) :2.4.4 以降
ワークフローの概要
大まかに言えば、オンボーディング Live Search では、次の操作が必要です。
1. Live Search 拡張機能をインストールする
Live Search は、 拡張機能の Marketplace から {Composer を通じてAdobeと 🔗 てインスト ルされます。 Live Search をインストールして構成すると、Adobe Commerce は検索とカタログ データの SaaS サービスとの共有を開始します。 この時点で、管理者 ユーザーは、検索ファセット、同義語およびマーチャンダイジングルールの設定、カスタマイズおよび管理を行うことができます。
-
cron ジョブと インデクサーが実行中であることを確認します。
note important IMPORTANT 2023 年 8 月のElasticsearch 7 のサポート終了のお知らせに伴い、Adobe Commerceのお客様はすべて OpenSearch 2.x 検索エンジンに移行することをお勧めします。 製品のアップグレード中に検索エンジンを移行する方法については、 アップグレード ガイドの OpenSearch への移行 を参照してください。 -
Adobeマーケットプレイスから
live-search
パッケージをダウンロードします。 -
コマンドラインから次を実行します。
code language-bash composer require magento/live-search
Live Search 拡張機能を 新規 Adobe Commerceのインストールに追加する場合は、次の手順を実行して OpenSearch および関連モジュールを無効にし、Live Search をインストールします。 次に、手順 4 に進みます。
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
既存 のAdobe Commerceのインストールに Live Search 拡張機能を追加する場合は、次の手順を実行して、ストアフロントの検索結果を提供する Live Search モジュールを一時的に無効にします。 次に、手順 4 に進みます。
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Live Search サービス Elasticsearch、バックグラウンドでカタログデータとインデックス製品を同期している間、はストアフロントからの検索要求を引き続き管理します。
-
次を実行します。
code language-bash bin/magento setup:upgrade
-
次の インデクサーが「スケジュールに従って更新」に設定されていることを確認します。
- 製品フィード
- 製品バリアントフィード
- カタログ属性フィード
- 製品価格フィード
- Scopes Web サイトデータフィード
- 範囲顧客グループデータフィード
- カテゴリフィード
- カテゴリ権限フィード
-
新しいCommerce インスタンスに Live Search をインストールする場合は、作業が完了し、2 にスキップできます。 API キーを設定セクション。 Live Search を既存のCommerce インスタンスにインストールする場合は、次の手順に進んでください。
-
次のコマンドを実行して、Live Search 拡張機能を有効にし、OpenSearch を無効にして、
setup
を実行します。code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
code language-bash bin/magento setup:upgrade
2. API キーの設定
Adobe Commerce API キーとそれに関連する秘密鍵は、Adobe Commerceのインストールに接続する Live Search めに必要です。 API キーは、Commerce のライセンス所有者のアカウントで生成および管理され、開発者またはシステムインテグレーターと共有できます。 その後、開発者は、ライセンス所有者に代わって SaaS データスペースを作成および管理できます。 既に一連の API キーがある場合は、それらを再生成する必要はありません。
API キーを設定する方法については、Commerce サービスコネクタの記事を参照してください。
3. カタログデータを同期する synchronize-catalog-data
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 サービスへの初期同期が開始されます。
cron
ために実行されてから、プロセスには少なくとも 1 時間かかる場合があります。同期の進行状況の監視
データ管理ダッシュボードを使用して、同期および共有されるデータを表示できます。 このダッシュボードは、ストアフロントの製品データの可用性に関する貴重なインサイトを提供し、買い物客に迅速に表示できるようにします。
また、Commerce CLI およびデータ書き出し拡張機能のログを使用して、同期コマンドを実行し、同期プロセスのトラブルシューティングを行うこともできます。
今後の製品アップデート
初回同期後、製品の増分更新がストアフロント検索で使用できるようになるまで最大 15 分かかる場合があります。 詳しくは、 インデックス作成 – ストリーミング製品の更新を参照してください。
4. データが書き出されたことを確認します verify-export
カタログデータがAdobe Commerce インスタンスから書き出され、Live Search 用に同期されていることを確認するには、次の 2 つのオプションがあります。
-
次の表のエントリを探します。
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
GraphQL playground をデフォルトのクエリで使用して、次の点を確認してください。
- 返される製品数は、ストア表示で期待される数に近くなります。
- ファセットが返されます。
その他のヘルプについては、サポートナレッジベースの 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 に移動します。
-
Configuration Cache Type を選択し、「Flush Magento Cache」をクリックします。
ストアフロントに対する変更は、キャッシュをフラッシュした直後に行われます。
カテゴリの割り当て
Live Search で返された製品は、 カテゴリに割り当てられている必要があります。 例えば Luma では、製品が「男性」、「女性」、「歯車」などのカテゴリに分類されます。 サブカテゴリも「トップス」、「ボトムス」、「ウォッチポイント」に設定されます。 これにより、フィルタリング時の精度が向上します。
6.接続をテストする test-connection
カタログデータを SaaS にして、テストを行い、次のシナリオで製品データが返されることを確認します。
- Search ボックスは正しく結果を返します
- カテゴリの参照で結果が正しく返される
- ファセットは、検索結果ページでフィルターとして使用できます
すべてが正しく動作している場合は、Live Search がインストールされ、接続され、使用できる状態になっています。
ストアフロントで問題が発生した場合は、var/log/system.log
ファイルで API 通信の失敗やサービス側のエラーを確認します。
ファイアウォールを通過する Live Search を許可するには、commerce.adobe.io
を許可リストに追加します。
7. ストアフロントに合わせたカスタマイズ
Live Search 拡張機能のインストール、データの同期、検証および設定が完了していること。 次に、Live Search ウィジェットがストアのルックアンドフィールに合っていることを確認します。
ポップオーバーウィジェットと PLP ウィジェットのスタイルを設定するには、必要に応じてカスタム CSS ルールを定義します。 ポップオーバー要素のスタイル設定および 製品一覧表示ページウィジェットを参照してください。
ウィジェットの機能を拡張する場合は、各のソースコードを公開リポジトリで入手できます。
このシナリオでは、独自のニーズに合わせてJavaScriptをカスタマイズし、カスタムコードを CDN でホストできます。 このカスタムスクリプトは、Live Search サービスと通信し、通常と同様の結果を返すので、ウィジェットの機能を制御できます。
Live Search を更新中 update
Live Search を更新する前に、コマンドラインから次のコマンドを実行して、インストールされている 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 のアンインストール uninstall
Live Search をアンインストールするには、 モジュールのアンインストールを参照してください。
Live Search パッケージ packages
Live Search 拡張機能は、次のパッケージで構成されています。
module-live-search
module-live-search-adapter
- カテゴリの参照 – ストアフロント 上部のナビゲーションから検索サービスにリクエストをルーティングします。
- グローバル検索 – ストアフロントの右上にある クイック検索ボックスからリクエストを Live Search サービスにルーティングします。
module-live-search-storefront-popover
Live Search 依存関係 dependencies
次の Live Search 依存関係が Composer によってキャプチャされます。
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は同等のものにはなりません。
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管理者の言語設定(ストア/設定/設定/一般/国のオプション)がサポートされている言語と一致することが検出された場合、デフォルトでその言語に設定されます。 それ以外の場合、ウィジェットのデフォルト値は英語になります。
また、管理者は 検索インデックスの言語を設定して、検索結果を向上させることもできます。
ウィジェットコードリポジトリー
製品一覧ページウィジェットとライブ検索フィールドウィジェットは、どちらも 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 価格インデクサーを使用できます。これにより、価格変更の更新と同期時間が短縮されます。
価格サポート
ライブ検索ウィジェットは、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 Studioで使用する場合、インテグレーターは次の要件も満たす必要があります。
-
livesearch-storefront-utils をインストールします。
-
storeDetails
オブジェクトにenvironmentId
を設定します。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 制限の処理を参照してください。