1. Search

検索の拡張

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SXAには、柔軟な検索ソリューションが付属しています。ユーザーが探しているアイテムを正確に見つけられるように、検索範囲やファセットなどの高度な検索機能を追加できます。たとえば、サイトの一般的なコンテンツを検索する検索ページ、製品データベースを検索するページ、ブログアーカイブを検索するページを定義できます。

検索範囲を他のサイトにまで広げる

デフォルトでは、検索結果はサイトのホームアイテムに絞り込まれます。検索の範囲を拡張して、他のサイトを含めることができます。たとえば、1つのグローバル サイトと異なる国に複数のサイトがある場合、グローバル サイトにアクセスしているときに、検索を拡張してすべてのサイトを含めることができます。

検索を他のサイトに拡張するには:

  • /sitecore/content/Tenant/Site/Settingsに移動し、Search CriteriaセクションのAssociated Contentフィールドで、検索に含めるサイトをクリックします。このフィールドを空のままにすると、現在のサイトのみが検索されます。

    Add the sites that you want to include in the search.

検索範囲を拡張

ページ上のコンテンツは自動的に検索可能になります。大規模なWebサイトでは、検索結果のナビゲート、フィルタリング、順序の適用を簡単にできるため、訪問者は最小限の労力で必要なものを正確に見つけることができます。SXAには、検索条件の入力を処理し、結果を柔軟でカスタマイズ可能な方法で表示するためのさまざまな検索レンダリングが含まれています。

また、訪問者の範囲を作成することもできます。たとえば、旅行サイトを運営しており、訪問者が週末旅行、1週間旅行、2週間旅行、長期滞在を検索することが予想される場合は、サイト上にフィルタとして表示される範囲を作成できます。

検索範囲を追加するには:

  1. サイトのSettingsに移動し、Scopesを右クリックして、InsertScopeの順にクリックします。

  2. 名前を入力してOKをクリックします。

  3. スコープクエリを定義するには:

    • クエリの準備ができている場合は、Paste queryをクリックします。

      Navigate to site/settings and in the Scope section in the ScopeQuery field click Paste Query.
    • クエリを作成するには、Build queryをクリックし、Build Search Queryダイアログ ボックスの検索フィールドに、使用する検索キーワードと検索フィルターを入力します。

      In the Build Search Query dialog box, use keywords and search filters to build the search.
    • 定義済みのSXAトークンのいずれかを使用するには、Build Search Queryダイアログ ボックスの検索フィールドに「 SXA 」と入力し、Enterをクリックして使用可能な検索トークンを表示します。

      TaggedTheSameAsCurrentPage|SxaTags – 検索結果を、現在のページと同じタグを持つアイテムに制限します。

      TaggedWithAtLeastOneTagFromCurrentPage|SxaTags – 検索結果を、少なくとも1つのページ タグが割り当てられているアイテムに制限します。

      UnderCurrentPage – 検索結果を現在のページに限定します。

      ExcludeCurrentPage – 検索結果を現在のページを除外するように制限します。

      ItemsOfTheSameTemplateAsTheCurrentPage – 検索結果を、現在のページと同じテンプレートを使用するアイテムに制限します。

      ItemsWithTheSameValueInField|FieldName – 検索結果を、特定のフィールドで同じ値を使用するアイテムに制限します。

      CurrentLanguage - 検索結果を現在選択されている言語のアイテムに制限します。

  4. サイトのSettingsに移動し、Search CriteriaセクションのDefault search scopeフィールドでスコープを選択します。

    Select the search scope.

    Datasource search scopeフィールドでは、追加のロケーションを定義できます。たとえば、テキスト アイテムを検索する場合は、<site>/Data/Textsを追加します。

検索を拡張してファセットを含める

すべての検索レンダリングには設定項目があります。これらのアイテムはレンダリング テキストを格納するために使用されますが、ファセットなど、より多くの構成が含まれる場合もあります。ファセットは、検索によって返されるアイテム (作成者、言語、作成日など) を分類することで、検索結果を絞り込む方法です。

ファセットは、ファセットフィルターで使用される特別なアイテムです。これらは、結果をフィルタリングするフィールドを検索エンジンに通知するために使用されます。たとえば、サイトにさまざまな種類の車が掲載されている場合は、タイプ、色、価格に基づいて検索できます。

サイト設定にファセットを追加できます。ファセットはsite/Settings/Facetsに格納されます。

Go to site/Settings/Facets to add facets.

デフォルトでは、SXAは /sitecore/system/Settings/Buckets/Facetsアイテムのプラットフォームによって定義されたファセットを使用します。

新しい検索ファセットを作成してサイトに追加するには:

  1. site/Settings/Facetsに移動し、追加するファセットをクリックします。たとえば、サイトの訪問者が日付を選択して検索を絞り込めるようにするには、Date Facetをクリックして次のフィールドに入力します。

    • NameおよびDisplay Name:名前を入力します。

    • Facet Filter: このフィールドを使用すると、検索で使用するファセット値を制限できます。 ISimpleFacetインターフェイスを実装するクラスへの参照を入力できます。このクラスは自分で作成する必要があり、文字列を返す必要があります。このクラスには、ファセットが検索するフィルターを決定するロジックを実装できます。このクラスの目的は、フィルターの数を減らすことです。これは、Sitecore検索ファセットの一部 (日付範囲やファイル サイズなど) が実装される方法です。

    • Field Name: ユーザーが検索できるようにするフィールドをカンマ区切りリストで指定します。

    • Enabled: デフォルトでは、このチェックボックスは選択されています。ファセットが機能するために選択する必要があります。

    • Minimum number of items: ファセットが検索結果に表示される前に表示する必要があるアイテムの最小数。

    • Global Facet: すべてのサイト項目でサイトファセットをバックエンド検索に使用できるようにする場合は、trueに設定します。

  2. site/Data/Searchに移動し、新しいファセット フィルターを作成します。たとえば、「 Date Filter Folder」をクリックし、名前( MyOwnFilterなど)を入力して、「 OK」をクリックします。

  3. Facetフィールドで、前に作成したファセットを選択します。

    Navigate to the facet filter and select the facet.
  4. 新しいファセット フィルターがサイトでどのように機能するかを確認するには、エクスペリエンス エディターでページを開き、Search BoxとSearch Resultsレンダリングをページに追加します。Search結果レンダリングを追加した後、Select the Associated Contentダイアログ ボックスで、作成したフィルタを選択し、OKをクリックします。

    Select the search filter.
  5. ページを保存します。 Previewモードでページを表示すると、検索結果をフィルタリングできることがわかります。

    メモ

    同じページに2つのフィルターがある場合、最初のフィルターからファセットを適用した後、2番目のフィルターのファセットはそれに応じて更新されます。

検索を拡張して、リンク タイプ フィールドをファセットとして含める

ファセットは、ファセットフィルターで使用される特別なアイテムです。これらは、結果をフィルタリングするフィールドを検索エンジンに通知するために使用されます。SXAでは、サイトにリンク参照が含まれていて、それらを検索に表示したい場合など、リンク フィールドをファセットとして使用することもできます。

デフォルトでは、リンク・タイプ・ファセットはターゲット・アイテムIDを使用します。項目IDはフロントエンドでの使用にはあまり役立たないため、検索構成ファイルに定義を追加して、GUID値を参照項目のフィールド値に置き換えることができます。

リンクタイプフィールドをファセットするには:

  • 次の定義を検索設定ファイルに追加します。

    <field fieldName="mytopics"
    returnType=”stringCollection” type="Sitecore.XA.Foundation.Search.ComputedFields.ResolvedLinks,
    Sitecore.XA.Foundation.Search" referenceField="topics"
    contentField="title"/>

    どこ:

    fieldName – 値が格納されるインデックスフィールド名を定義します。この名前が参照フィールド名と異なることを確認してください。

    returntype – 計算フィールドの戻り値の型を定義します。

    referenceField – インデックス付きアイテムのフィールド名を定義します。値は、上記の例のように小文字にする必要があります。

    contentField – インデックス作成中に値が取得される参照項目のフィールドを定義します。値は、上記の例のように小文字にする必要があります。

検索を拡張してメディアライブラリ項目を含める

検索を拡張して、メディア ライブラリ フォルダを含めることができます。これは、訪問者が画像やビデオを探すと予想される場合に便利です。たとえば、説明ビデオを含むWebサイトがある場合、訪問者が特定のビデオを検索できると便利な場合があります。

検索を拡張してメディア ライブラリ項目を含めるには:

  • サイトのSettingsに移動し、Search CriteriaセクションのAssociatedMediaフィールドに、訪問者が検索できるようにするメディアアイテムを追加します。

    In the Associated Media field, add the media items that people can search on.
この記事を改善するための提案がある場合は、 お知らせください!