拡張探索
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SXAには柔軟な検索ソリューションが付属しています。ユーザーが正確に探している商品を見つけやすくするために、検索範囲やファセットなどの高度な検索機能を追加できます。例えば、サイトの一般的な内容を検索する検索ページ、製品データベースを検索するページ、ブログアーカイブを検索するページを定義できます。
検索を拡張して他のサイトも含める
デフォルトでは、検索結果はサイトのホームアイテムに絞られます。検索範囲を拡大して他のサイトを含めることもできます。例えば、グローバルサイトが1つで、異なる国ごとに複数のサイトがある場合、グローバルサイトにいるときに検索範囲を拡大してすべてのサイトを含めることができます。
検索を他のサイトにも拡大するために:
-
/sitecore/content/Tenant/Site/Settingsに行き、Search基準セクションの関連コンテンツ欄で、検索に含めたいサイトをクリックしてください。このフィールドを空にすると、現在のサイトのみが検索されます。

検索範囲を拡大する
ページのコンテンツは自動的に検索可能になります。大規模なウェブサイトでは、検索結果のナビゲーション、フィルター、順番の適用を容易にできるため、訪問者は最小限の労力で必要なものを正確に見つけられます。SXAには検索条件の入力を処理し、結果を柔軟かつカスタマイズ可能な形で提示するための様々な検索レンダリングが含まれています。
訪問者用のスコープを作成することもできます。例えば、旅行サイトで訪問者が週末旅行、1週間旅行、2週間旅行、長期滞在を検索したいと予想する場合、サイト内にフィルターとして表示されるスコープを作成できます。
検索範囲を追加するには:
-
サイトの 設定 に移動し、「 Scopes 」を右クリックし、「 挿入」→「 Scope」をクリックします。
-
名前を入力してOKをクリックします。
-
スコープクエリを定義するために:
-
クエリが用意できているなら、「 クエリを貼り付け」をクリックします。

-
クエリを作成するには 、「Build Query 」をクリックし、検索欄の 「Build Search Query 」ダイアログボックスで、使いたいキーワードと検索フィルターを入力します。

-
あらかじめ定義されたSXAトークンを使用するには、「 Build Search Query 」ダイアログボックスの検索欄で「SXA」と入力し、「 Enter 」をクリックすると利用可能な検索トークンが表示されます:
TaggedTheSameAsCurrentPage|SxaTags – 検索結果は現在のページと同じタグを持つ項目に限定します。
TaggedWithAtLeastOneTagFromCurrentPage|SxaTags – 検索結果は少なくとも1つのページタグが割り当てられている項目に限定します。
UnderCurrentPage – 検索結果は現在のページに限定されます。
ExcludeCurrentPage – 現在のページを除外するよう検索結果を制限します。
ItemsOfTheSameTemplateAsTheCurrentPage – 検索結果を現在のページと同じテンプレートを使用する項目に限定します。
ItemsWithTheSameValueInField|FieldName – 検索結果を特定のフィールド内で同じ値を使用するアイテムに限定します。
CurrentLanguage - 検索結果を現在選択されている言語の項目に限定します。
-
-
サイトの 設定 に移動し、Search Criteriaセクションの 「Default Search Scope 」フィールドでスコープを選択します。
Datasourceの検索範囲フィールドでは、追加の場所を定義できます。例えば、テキスト項目を検索したい場合は
/Data/Textsを追加できます。
側面を含む検索を拡張
すべての検索レンダリングには設定項目があります。これらの項目はレンダリングテキストを保存するために使われますが、場合によってはファセットのようにさらに多くの構成も含まれます。ファセットとは、検索結果を整理する方法であり、検索結果を著者、言語、作成日などで分類して検索結果を整理する方法です。
ファセットはファセットフィルターで使われる特別な項目です。これらは検索エンジンに、結果を絞り込みたいフィールドを知らせるために使われます。例えば、サイトに異なる種類の車が掲載されている場合、タイプ、色、価格に基づく検索が可能です。
サイト設定にファセットを追加できます。ファセットはサイト/設定/ファセットに格納されています:

デフォルトでは、SXAはプラットフォームが定義した/sitecore/system/Settings/Buckets/Facets項目で定義されたファセットを使用します。
新しい検索ファセットを作成し、サイトに追加するには:
-
サイト/設定/ファセットに移動し、追加したいファセットをクリックしてください。例えば、訪問者が日付を選択して検索を絞り込めるようにしたい場合、「日付ファセット」をクリックして以下の項目に入力してください:
- 名前 と **表示名:**名前を入力してください。
- ファセットフィルター。 ISimpleFacet インターフェースを実装するクラスへの参照を入力できます。このクラスは自分で作成しなければならず、文字列を返す必要があります。このクラスにロジックを実装し、ファセットが検索すべきフィルターを決定できます。このクラスはフィルターの数を減らすことを目的としています。例えばDate RangeやFile Sizeのように、Sitecore検索ファセットの実装方法はこの方法です。
- フィールド名。
- 有効。ファセットが動作するためには、このチェックボックスを選択しなければなりません。
- 最小アイテム数。
- グローバルファセット、trueに設定してください。
-
site/Data/Searchに移動し、新しいファセットフィルターを作成します。例えば「 Date Filter Folder」をクリックし、名前(例えばMyOwnFilter)を入力し、「 **OK」**をクリックします。
-
ファセットフィールドで、先ほど作成したファセットを選択してください。

-
新しいファセットフィルターの動作を確認するには、エクスペリエンスエディターでページを開き、Search BoxとSearch Resultsのレンダリングをページに追加してください。Search Resultsレンダリングを追加した後、「 関連コンテンツの選択 」ダイアログボックスで作成したフィルターを選択し、OKをクリックします。

-
ページを保存してください。 プレビュー モードでページを見ると、検索結果を絞り込むことができます。
!注同じページに2つのフィルターがある場合、最初のフィルターからファセットを適用した後、2つ目のフィルターのファセットもそれに応じて更新されます。
検索を拡張してリンクタイプフィールドをファセットとして含める
ファセットはファセットフィルターで使われる特別なアイテムです。これらは、検索エンジンにフィルタリングしたいフィールドを知らせるために使われます。SXAでは、例えばサイトにリンク参照が含まれていて、それらを検索に表示させたい場合など、リンクフィールドをファセットとして使うことも可能です。
デフォルトでは、リンクタイプのファセットはターゲットアイテムIDを使用します。アイテムIDはフロントエンド用途にはあまり役に立たないため、検索設定ファイルに定義を追加して、参照アイテムのフィールド値にGUID値を置き換えることができます。
リンクタイプのフィールドにファセットする方法:
-
検索設定ファイルに以下の定義を追加してください:
ここで:
fieldName – は、値が格納されるインデックスフィールド名を定義します。この名前が参照フィールド名と異なることを確認してください。
returntype – は計算されたフィールドのリターン型を定義します。
referenceField – はインデックス付き項目のフィールド名を定義します。値は上記の例のように小文字でなければなりません。
contentField – はインデックス作成時に値を取得する参照項目のフィールドを定義します。値は上記の例のように小文字でなければなりません。
検索をメディアライブラリの項目にも拡張
検索範囲を拡大してメディアライブラリフォルダを含めることも可能です。これは、訪問者が画像や動画を探すことを期待する場合に便利です。例えば、指導用ビデオを掲載しているウェブサイトがある場合、訪問者が特定の動画を検索しられるのは便利かもしれません。
検索を拡大してメディアライブラリのアイテムを含めるには:
-
サイトの 設定 に移動し、Search CriteriaセクションのAssociatedMedia欄で、訪問者に検索してほしいメディアアイテムを追加してください。
