SXA Storefront でのサイト検索の設定

ストアフロントを訪れた顧客は商品カタログを閲覧できますが、検索を実行して、関心のあるカタログ アイテムをすばやく確認する可能性の方が高いです。ストアフロントでの検索で意味のある結果が得られるようにするには、すべてのカタログ アイテムにインデックスを付ける必要があります。

カタログ コンテンツが検索結果に表示されるようにするには、ページ コンテンツとカタログ コンテンツを同じインデックスで組み合わせる必要があります。SXA Storefront では、クローラーはコンテンツ ツリーを調べて、ページ アイテムとサイトに関連付けられたカタログを探します。Sitecore は、サイトのインデックス構成に基づいて、カタログ アイテムを対応するインデックスに追加します。

SXA には、拡張インデックス コンテンツに依存する検索関連のコンポーネントが多数付属します。拡張コンテンツは、グローバルに定義された計算フィールドから取得されるため、カタログ コンテンツにも適用されます。両方のクローラーが同じインデックスにコンテンツを提供するようにすることで、ストアフロント サイトで SXA 検索コンポーネントとコマース検索コンポーネントの両方を使用できます。

サイトを作成するときには、コマース コンテンツにインデックスを付けるためのデフォルトの検索インデックスとして使用するように、サイトに標準の Sitecore インデックスを設定します。インデックスの設定を表示するには、sitecore\Content\<tenant>\<site>Settings\Site Groupings\<site> に移動してください。

Site Grouping フォルダー内のストアフロント コンポーネント。

商品は、複数のカテゴリーと複数のカタログに属することができます。カテゴリーは、複数の親カテゴリーに属することができます。Commerce Crawler は、データ プロバイダーによって Sitecore コンテンツ ツリーに公開されているカタログ コンテンツをトラバースする代わりに、Commerce Engineに格納されているカタログ コンテンツをトラバースします。このアプローチを採用することで、Sitecore は、商品がツリー構造内の複数の場所に表示されている場合でも、商品とカテゴリに 1 回だけインデックスを付けます。その結果、インデックス作成時間が短縮されます。カタログ構造によっては、違いが大きくなる可能性があります。

デフォルトでは、SXA Storefront は、カタログ アイテムにインデックスを付ける際、標準インデックス (sitecore_master_indexsitecore_web_index) を使用します。対照的に、SXA は、デフォルトでは、カスタム インデックス (sitecore_sxa_master_indexsitecore_sxa_web_index) を使用します。カタログ アイテムを含めるように SXA インデックスを設定することができます。

選択したカタログ構造に応じて、検索結果からノイズを除去して、関連する結果のみを表示することができます。以下のことができます。

  • [サブカテゴリー商品を含める] チェック ボックスをオフにすると、カテゴリー構造の複数のサブレベルで商品が繰り返されるときに、エントリが重複しないようにできます。sitecore/Content/<tenant>/<site>/Settings/Commerce に移動して、[カタログ設定] を選択し、[Commerce] セクションの設定を変更します。この設定は、サンプル Habitat カタログで使用されます。このカタログでは、同じ商品が第 1 レベルと第 2 レベルの両方のカテゴリーから参照されています。

    注記

    最下位のカテゴリーの商品のみを表すカタログがある場合は、チェック ボックスをオンにして、第 1 レベルのカテゴリーをナビゲートするときに商品が表示されるようにする必要があります。複数のカテゴリー レベルで同じ商品を設定するのではなく、このアプローチをお勧めします。

  • [Web サイトの検索結果からカテゴリーを除外] チェック ボックスをオンにすると、商品をまとめるカテゴリーが検索結果から除外されます。通常、カテゴリー自体よりもカテゴリー内の商品を検索結果に含める方が有用であるため、カテゴリーを省略できます。sitecore/Commerce/Commerce Control Panel/Storefront Settings/Storefronts/<site> に移動して、[Catalog Configuration] を選択し、[Commerce コントロール パネル] セクションで設定を変更します。

  • [重複する検索結果を除外] チェック ボックス (sitecore/Commerce/Commerce Control Panel/Shared Settings/Indexing Settings) をオンにすると、商品が複数のカテゴリーに存在する場合、重複する商品が検索結果に表示されません。このオプションを選択すると、Sitecore は、Web サイト検索スコープ] 設定 (sitecore/Content/<tenant>/<site>/Home/Catalogs/<catalog>) で定義済みのカタログ カテゴリー下に設定された各商品について、1 つの検索エントリのみを検索インデックスに追加します。各商品の選択されたインスタンスは、システムによって選択され、未定義です。Sitecore が検索結果を並べる方法は、カタログ階層内の商品の場所とは関係ありません。

    注記

    ストアフロントで変更を確認するには、検索インデックスを再構築する必要があります。

  • ファセットを使用します。Sitecore は、さまざまな SXA 検索ファセットCommerce 固有のファセットを提供し、これらは検索クエリを作成するときに使用できます。