チュートリアル: SXAインデックスにCommerceカタログ アイテムを含める
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore XC 9.3以降、Commerce Engineはカタログ エンティティ (カタログ アイテムとカテゴリ) のインデックス作成を担当します。インデックス更新戦略により、Sitecoreインデックス (sitecore_master_indexとsitecore_web_index) が最新のカタログ アイテムで最新の状態に保たれ、SXA Storefrontでの商品検索が効果的に有効になります。対照的に、Sitecore Experience Accelerator (SXA) は、デフォルトで異なるインデックス ( sitecore_sxa_master_indexとsitecore_sxa_web_index) を使用して、SXA Webサイトでのページ検索を有効にします。ただし、必要に応じて、デフォルトの設定を変更して、Sitecoreマスター インデックスとWebインデックスの代わりに、ページ アイテムに加えてカタログ アイテムをSXAインデックスに含めることができます。
2つの異なる索引に同じカタログ・データ・セットを含めることはできません。この制限は、マスター索引とWeb索引には実際には同じカタログ・データ・セットが含まれていないため、これらの索引には適用されません。
このチュートリアルでは、次の方法について説明します。
-
SXAインデックスをCommerce Engine Connectに追加する
-
SXAインデックスをGetChildrenToIndexプロセッサに追加します
-
Commerce Engineの検索ポリシーとSolrポリシーを更新する
-
Sitecoreのストアフロント インデックス設定を変更する
このチュートリアルでは、次の作業が既に完了していることを前提としています。
-
Solr Webサイトの指示に従って必要なSXA Solrコアを作成し、新しいSolrコアを作成して初期化します。
-
それに応じて <SXASite>\App_Config\Modules\SXA\Sitecore.XA.Foundation.Search.Solr.configファイルを更新しました。
SXAインデックスをCommerce Engine Connectインデックス設定に追加する
SXAインデックスをCommerce Engine Connectインデックス設定に追加する
デフォルトでは、CE Connectのデフォルトのコンテンツ検索インデックス作成戦略は、Sitecoreマスター インデックスとWebインデックスを更新します。Commerce Engine Connectの設定をカスタムSXAインデックスの名前で更新する必要があります。
SXAインデックスをCommerce Engine Connectインデックス設定に追加するには、次の手順を実行します。
-
inetpub\wwwroot\<site>\App_Config\Include\Y.Commerce.Engine\フォルダで、Sitecore.Commerce.Engine.Connectors.Index.Solr.configを開きます。
-
<index id="sitecore_web_index">で始まるセクションを見つけ、index idの値をSXA Webインデックスの名前に置き換えます (例:
-
カスタムSXAマスター インデックスを設定に追加します。 <index id="sitecore_master_index"> 設定を定義する既存のブロックをコピーして貼り付け、インデックスIDを <index id="sitecore_sxa_master_index">に変更します。
例えば:
-
変更を保存します。
SXAインデックスをGetChildrenToIndexプロセッサに追加します
カスタムSXAインデックスをSitecore.Commerce.Engine.Connect.Pipelines.GetChildrenToIndexプロセッサのインデックス リストに追加する必要があります。Sitecore XCはCommerceアイテムをインデックスするために独自のクローラーを実装するため、このプロセッサはSitecoreインデックス クローラーがCommerceアイテムに不必要にインデックスを再び作成しないようにします。
カスタムSXAインデックスをプロセッサに追加するには、次の手順を実行します。
-
C:\inetpub\wwwroot\<CommerceEngine>\App_Config\Include\Y.Commerce.Engineフォルダーで、Sitecore.Commerce.Engine.Connectors.Index.Common.configファイルを開きます。
-
次の例に示すように、カスタムSXAマスター インデックスとSXA Webインデックスをインデックスのリストに追加します。
Commerce Engineの検索ポリシーとSolrポリシーを更新する
Commerce Engineの検索ポリシーとSolrポリシーを更新する
Commerce Engine検索ポリシー・セットとSolrポリシー・セットの索引名を更新する必要があります。
Commerce Engineの検索ポリシーとSolrポリシーを更新するには:
-
C:\inetpub\wwwroot\<CommerceEngine>\wwwroot\data\Environments\PlugIn.Search.PolicySet-1.0.0.jsonファイルを開きます。
-
次の変更を行います。
-
"Name": "<site>_web_index"を検索し、SXA Webインデックスの名前と一致するように値を変更します (例:"<site>_sxa_web_index")。
-
"Name": "<site>_master_index"を検索し、SXAマスター インデックスの名前と一致するように値を変更します (例:"<site>_sxa_master_index")。
-
"InternalIndexName": "sitecore_web_index"を検索し、SXA Webインデックスの名前と一致する値を変更します (例: "sitecore_sxa_web_index")。
-
"InternalIndexName": "sitecore_master_index"を検索し、SXAマスター インデックスの値と一致するように値を変更します (例: "sitecore_sxa_master_index")。
-
-
C:\inetpub\wwwroot\<CommerceEngine>\wwwroot\data\Environments\PlugIn.Search.Solr.PolicySet-1.0.0.jsonファイルを開きます。
-
次の変更を行います。
-
"IndexName": "sitecore_web_index"を検索し、SXA Webインデックスの名前と一致するように値を変更します (例: "sitecore_sxa_web_index")。
-
"IndexName": "sitecore_master_index"を検索し、SXAマスター インデックスの名前と一致するように値を変更します (例: "sitecore_sxa_master_index")。
-
"SearchScopeName": "<site>_web_index"を検索し、SXA Webインデックスの名前と一致するように値を変更します (例:"<site>_sxa_web_index"
-
"SearchScopeName": "<site>_master_index"を検索し、SXAマスター インデックスの名前と一致するように値を変更します (例:"<site>_sxa_master_index"
-
-
変更を保存します。
-
Commerce Engineをブートストラップ して、設定の変更を登録します。
-
IISマネージャーで、IISのリセットを実行します。
Sitecoreのストアフロント インデックス設定を変更する
Sitecoreのストアフロント インデックス設定を変更する
SXAインデックスを使用するようにストアフロントのインデックス設定を変更するには、次の手順を実行します。
-
Sitecoreにログインします。
-
コンテンツ エディターで、Sitecore/Storefront/Settings/Site Grouping/Storefrontアイテムに移動します。
-
Indexingセクションで、インデックス名を更新して、SXA Webインデックスとマスター インデックスの名前を反映させます。
例えば:
