Commerce 検索スコープ

概要

SXA Storefront サイト テンプレートに含まれる Commerce 検索スコープの概要。

スコープは、SXA の概念であり、検索レンダリングで使用されます。これは、検索の開始場所と範囲を指定するクエリで構成され、検索結果を絞り込んで、より意味のあるものにできます。サイト ページ、プロモーション商品、関連商品、現在のカテゴリーの商品、またはページとカタログ アイテムの両方を含むサイト全体を対象とするスコープ クエリを定義できます。また、検索スコープでクエリ トークンを使用すると、実行時に特定のアイテムのコンテキストでトークンが評価される動的クエリを作成できます。さらに、検索スコープを使用する場合は、ブースト ルールを設定できます。

注記

検索スコープは、サイトごとに /sitecore/Content/<tenant>/<site>/Settings/Scopes フォルダーに格納されます。

Storefront サイト テンプレートには、以下のデフォルトの Commerce 検索スコープが含まれています。

重要

ストアフロント サイト テンプレートを使用しているが、Habitat カタログは使用していない場合は、デフォルトのスコープを自分のカタログを参照するように更新する必要があります。

検索構文を使用すると、独自の Commerce 検索スコープを作成することができます。新しいスコープを作成するには、いくつかのクエリ トークンを追加できる検索クエリを作成します。

注記

次の表では、クエリ トークンのパラメーターは、トークン名の後にパイプ (「|」) で区切られて指定されています。

Commerce 検索スコープで Commerce クエリ トークンを使用するときに使用すべき特定の構文があります。

  • 条件の値を定義するときには、垂直スラッシュ (パイプ) が使用されます。たとえば、ItemsWithTheSameValueInField|Field NameItemsWithTheSameValueInField: Field Name として表示され、検索結果はすべて、指定された名前のフィールドですべて同じ値でなければならないことを示します。たとえば、インデックス フィールドの値は、現在のアイテムのインデックス フィールドの値に一致する必要があります。

  • 先頭の下線は、システムの状態を示します。たとえば、_workflow_state を使用すると、承認済みなど、特定のワークフロー状態にある商品を含むクエリを作成できます。

  • ItemsWithTheSameValueInParentChildFields|ItemFieldName|IndexFieldNameクエリ トークンの場合、二重下線 __ で始まる親フィールド名は、フィールドではなく、アイテムの属性に変換されます。たとえば、フィールド名 "__id" を受け入れて、ContextItem.Fields["__ id"] ではなく、ContextItem.ID に変換できます。これは、Item.ID がアイテムのプロパティ/属性であり、通常のフィールドではないため便利です。これは、カテゴリー ナビゲーションに相当し、条件 sxa:ItemsWithTheSameValueInParentChildFields|__id|_parent で 、インデックス フィールド_parent の_value が現在のアイテムの ID プロパティの値に一致しなければならないことを指定します。これは、インデックス フィールド_parent の値がコンテンツ アイテム ID を参照することがわかっているため、意味があります。

次の表に、使用可能なすべての条件を示します。

条件

説明

_LatestVersion

この条件は、商品の最新バージョンのみが検索結果に表示されるようにするために使用されます。可能な値は true と [空白] です。

Commercesearchitemtype

この条件は、検索を特定のタイプのアイテムに制限します。可能な値は、category、sellableitem、および catalog です。

Category スコープの目的では、値は sellableitem (商品) に設定され、他の Sitecore アイテムが検索結果に表示されないようにするために使用されます。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Commerce コントロール パネルでは、 Exclude Duplicate Search Results の値を設定できます。これが true に設定されている場合、インデクサーは重複するインスタンスについて、インデックス フィールドの値を true に設定します。デフォルトでは、すべてのインスタンスの値が false に設定されます。

たとえば、Excludefromwebsitesearchresults|false は、すべて一意な商品の 1 つのインスタンスなど、重複しないインスタンスのみを返すように結果を制限するために、顧客検索で使用されます。

Parentcataloglist

この条件は、対象となるカタログを指定するために使用されます。複数のカタログがあるときに、1 つのカタログ内の商品のみが返されるようにするのに役立ちます。

たとえば、ParentCataloglist|{59DDADC1-9B88-727E-9E14-3F6CF321AE0F} は、カテゴリー ナビゲーションと検索で、Habitat カタログのみを対象とするために使用されます。

ProductRelationship

このクエリ トークンは、指定された関係から現在の商品の関連商品を読み取り、商品の ID をクエリに挿入して、関連商品のみが返されるようにするために使用されます。

たとえば、ProductRelationship|RelatedSellableItemToSellableItem は、関連商品のリストを表示するために商品詳細ページで使用されます。

Sxa: UnderCurrentPage

これは、検索結果を現在のページまたはカテゴリーに制限する SXA 検索条件です。

Storefront サイト テンプレートでは、sxa:UnderCurrentPage は、カテゴリー ナビゲーションに使用され、結果を現在のカテゴリーのカタログ アイテムに制限します。結果には、サブカテゴリーと商品が含まれ、オーディオ カテゴリーの場合はヘッドフォンなどのサブカテゴリーも任意の深さまで含まれます。

Sxa: ItemsWithTheSameValueInParentChildField| ItemFIeldName|IndexFieldName

この条件は、SXA クエリ トークン ItemsWithTheSameValueInField|FieldName と同様であり、検索結果を特定のインデックス フィールドで同じ値を持つアイテムに制限します。2 つのフィールド名を受け入れ、現在のアイテムから親フィールドの値を読み取って、インデックス フィールドでその値を持つドキュメントを検索します。

たとえば、sxa:ItemsWithTheSameValueInParentChildFields|__id|_parent は、カテゴリー ナビゲーションに使用されて、結果を現在のカテゴリーのすぐ下に格納されている商品アイテムのみに制限し、サブカテゴリーに格納されている商品を含めません。Habitat カタログでは、商品は両方のレベルで関連付けられているため、Kickbuds Wireless Headphones などの商品は、Audio と Headphones の両方に表示されます。

Category スコープは、検索結果を特定の商品カテゴリーに制限します。

検索クエリを作成します。

Commerce 検索トークンには、以下のものが含まれます。

条件

説明

Commercesearchitemtype

この条件は、検索を特定のタイプのアイテムに制限します。可能な値は、category、sellableitem、および catalog です。

Category スコープの目的では、値は sellableitem (商品) に設定され、他の Sitecore アイテムが検索結果に表示されないようにするために使用されます。

_LatestVersion

この条件は、商品の最新バージョンのみが検索結果に表示されるようにするために使用されます。可能な値は true と [空白] です。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Parentcataloglist

この条件は、複数のカタログがある場合に使用され、1 つのカタログ内の商品のみが表示されるようにします。

期待される値は、カタログ アイテムの ID (GUID) です。

SXA 検索トークンには、以下のものが含まれます。

トークン

説明

Sxa: UnderCurrentPage

これは、検索結果を現在のページまたはカテゴリーに制限する SXA 検索条件です。

Sxa: ItemsWithTheSameValueInParentChildField| ItemFIeldName|IndexFieldName

この SXA 検索条件は、入力として 2 つのフィールド名を受け入れます。

例: sxa:ItemsWithTheSameValueInParentChildFields|__id|_parent

Habitat catalog スコープは、検索を特定のカタログに制限します。

Habitat スコープ

Commerce 条件とトークンには、以下のものが含まれます。

条件

説明

Commercesearchitemtype

この条件は、検索を特定のタイプのアイテムに制限します。可能な値は、category、sellableitem、および catalog です。

_LatestVersion

この条件は、商品の最新バージョンのみが検索結果に表示されるようにするために使用されます。可能な値は true と [空白] です。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Parentcataloglist

この条件は、複数のカタログがある場合に使用され、1 つのカタログ内の商品のみが表示されるようにします。

期待される値は、カタログ アイテムの ID (GUID) です。

Recommended products スコープは、前回の発注の注文 ID に基づいて商品のリストを返し、カタログで定義されている関連商品の関係を使用します。

Recommended products スコープ

Commerce 条件とトークンには、以下のものが含まれます。

条件

説明

Commercesearchitemtype

この条件は、検索を特定のタイプのアイテムに制限します。可能な値は、category、sellableitem、および catalog です。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Sxa: RecommendedProducts|NumberOfProducts| RelationshipField|Scope

この SXA 検索条件は、前回の注文に基づいて関連商品を取得し、商品 ID をクエリに挿入して、定義された数の関連商品が返されるようにします。[Number of products] フィールドは、返される商品の最大数であり、RelationshipField は、カタログで定義された関係の定義です。

Scope は、フォールバック スコープです。前回発注情報がない場合は、フォールバック スコープが使用されます。次の例では、64817E77-2253-48D8-8838-E44EBBB601C7 は、On sale television スコープのアイテム ID であり、フォールバック スコープです。

sxa:RecommendedProducts|12|RelatedSellableItemToSellableItem|{64817E77-2253-48D8-8838-E44EBBB601C7} 64817E77-2253-48D8-8838-E44EBBB601C7

Mira laptops スコープは、検索を Mira ブランドのラップトップに制限します。

Mira laptops スコープ。

2 つのインデックス フィルター (Brand と Location) に加えて、以下の Commerce トークンがこのスコープで使用されます。

トークン

説明

Commercesearchitemtype

この条件は、検索を商品に限定し、他の Sitecore アイテムが結果に表示されないようにするために使用されます。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

On sale televisions スコープは、検索を On Sale Televisions (/sitecore/Content/Sitecore/Storefront/Data/Commerce/Product Lists/Promoted Products List) の定義済み商品リストに制限します。

On sale televisions スコープ。

1 つのインデックス フィルター (Location) に加えて、以下の Commerce トークンがこのスコープで使用されます。

フィールド

説明

Commercesearchitemtype

この条件は、検索を商品に限定し、他の Sitecore アイテムが結果に表示されないようにするために使用されます。

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Related products on PDP スコープは、検索をカタログで関連として定義されている商品に制限します。

Related products on PDP スコープ。

1 つの SXA 条件 Sxa: ProductRelationship|RelatedSellableItemtoSellableItem に加えて、以下の Commerce トークンがこのスコープで使用されます。

トークン

説明

Excludefromwebsitesearchresults

これは、検索結果に商品が 1 回のみ表示されることを確実にするために使用されるオプションの条件です。

Commercesearchitemtype

この条件は、検索を商品に限定し、他の Sitecore アイテムが結果に表示されないようにするために使用されます。

ProductRelationship|RelationshipField

このクエリ トークンは、指定された関係から現在の商品の関連商品を読み取り、商品の ID をクエリに挿入して、関連商品のみが返されるようにするために使用されます。

たとえば、ProductRelationship|RelatedSellableItemToSellableItem は、関連商品のリストを表示するために商品詳細ページで使用されます。