SXA インデックス作成を設定する

概要

サイトや言語ごとにインデックスを定義します。

SXA では、特定の言語やサイトごとにインデックスを定義できます。これは、データを区別してインデックスを少なくして、パフォーマンスを向上させたい場合に便利です。

インデックスを追加するには:

  1. /sitecore/コンテンツ/テナント/サイト/設定/サイト グループ化/サイトに移動します。

  2. [インデックス作成] セクションで、サイトのインデックス仕様を入力できます。常にデータベースから始め、うしろにスラッシュを付けます。その後に言語を指定する、または * を使用してすべての言語を対象にすることができます。

    たとえば、サイト固有のインデックスを作成したり、英語とスペイン語を区別したりできます。

    言語のインデックス仕様。

    注記

    単一の特定の言語のアイテムを対象とする SXA 検索インデックスを設定する場合は、クローラーの言語パラメーターを追加する必要があります。

    <locations hint="list:AddCrawler">
        <crawler type="Sitecore.XA.Foundation.Search.Crawlers.SxaItemCrawler, Sitecore.XA.Foundation.Search">
            <Database>master</Database>
            <Root>/sitecore</Root>
            <Language>en</Language>
        </crawler>
    </locations>
  3. 検索プロバイダーの設定ファイルに移動して、作成したインデックスを追加します。たとえば、Solr を使用する場合は、C:\inetpub\wwwroot\Site\Website\App_Config\Include\Z.Foundation.Overrides\Sitecore.XA.Foundation.Search.Solr に移動して、インデックスを追加します。

デフォルトのクローラー パスは <Root>/sitecore</Root> です。カスタム インデックスのアイテム クローラー パスを設定して、デフォルトのパスとは異なるパス (例: <Root>/sitecore/content/TenantA/SiteA/Home/NewFolder</Root>) を使用する場合は、次の影響があります。

  • そのパスのアイテムのみがインデックス付けされる

  • カスタム インデックスにテンプレートが含まれない

インデックスにテンプレートがない場合、ロジックを解決するフィールド タイプに影響を与える可能性があります。場合によっては、フィールド タイプが見つからず、結果の検索またはフィルタリング中に問題が発生するかもしれません。これを解決するには、設定ファイルですべてのカスタム フィールドを手動で定義して、使用するタイプ (文字列、整数、テキストなど) を Sitecore が認識できるようにする必要があります。

SXA-Indexing-custom-fields.png

注記

Sitecore のインデックス作成に関する一般的な情報については、プラットフォームのドキュメントを参照してください。