チュートリアル: Solrのセットアップ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このチュートリアルでは、SolrをSitecoreで使用するように設定する方法について説明します。Solrで使用可能なすべての設定オプションを網羅しているわけではなく、SitecoreでSolrを使用するための設定の詳細のみを文書化しています。 SolrのWebサイト には、より高度なSolrセットアップに関する情報があります。
Solr互換性テーブルを確認して、お使いのSitecoreのバージョンと互換性があるバージョンを確認してください。
Content SearchコアをホストするSolrサーバーは、xDB Search Indexコアをホストするサーバーとは異なる場合があります。
Solrの資料の指示に従って、Solrをインストールします。SolrのWebサイトには、リソースがリストされています。そこでホストされているApache Solr wikiは特に便利です。
インデックスごとに個別のコアを使用する必要があります。Apache Solr wikiでは、マルチ・コアの概念について紹介しています。
SolrをSitecoreと連携するように設定する
SitecoreはSolrでマネージド スキーマを使用します。
Solrの設定例をSitecoreで使用するように変更するには、次の手順に従います。
-
Solrが提供するConfiguration Exampleフォルダ ( _default ) をSOLR_DIR/server/solr/configsetsフォルダからSOLR_DIR/server/solrフォルダにコピーします。
-
作成したフォルダー(SOLR_DIR/server/solr/CORE_NAME)にcore.propertiesというテキストファイルを作成し、次の値を指定します。
RequestResponsename=[CORE_NAME] config=solrconfig.xml update.autoCreateFields=false dataDir=data
マネージド スキーマを構成するには、次の手順に従います。
-
作成したフォルダのconfサブフォルダにあるマネージ スキーマ ファイルを開きます。
-
<uniqueKey>id</uniqueKey>ノードの値を _uniqueidに設定します (例: <uniqueKey>_uniqueid</uniqueKey>)。
-
fieldsセクションで、_uniqueidのフィールド設定を追加します。
RequestResponse<field name="_uniqueid" type="string" indexed="true" required="true" stored="true"/>
SitecoreのすべてのSolrインデックスも同じ方法で設定する必要があります。Sitecoreが使用するインデックスのリストは、Sitecoreが使用するインデックスにあります。
Sitecore XPのインデックスは次のとおりです。

Solrの実行
コアを作成したら、Solrインスタンスを再起動します。Solrが正しく実行されていることを確認するには、次のようにします。
-
https://<host>:8983/solrで管理ページを開きます。
-
Loggingセクションでログにエラーがないか確認します。認証/承認に関連する警告が表示されることがありますが、これは予期される動作です。警告を削除する場合は、基本認証を有効にします。
-
Core Adminセクションを開いて、使用可能なコアを確認します。これらのコアは、core.propertiesファイルで指定したため、自動的に作成されます。設定ファイルで正しいコア名を使用することが重要です。名前では大文字と小文字が区別されます。デフォルト名を使用する場合は、設定を変更する必要はありません。
Solrと連携するようにSitecoreを設定する
このセクションでは、Solrと連携するようにSitecoreを設定する方法について説明します。以下の手順に従います。
-
SitecoreインスタンスのSolrへの正しい接続文字列を指定するには、\Website\App_config\ConnectionStrings.configファイルを開き、solr.search接続文字列を調べます。次の例のようになります。
RequestResponse<add name="solr.search" connectionString="https://localhost:8983/solr">
-
検索プロバイダを指定するには、Web.configファイルを開き、search:defineキーを調べます。次のようになります。
RequestResponse<add key="search:define" value="Solr" />
-
\Website\App_config\Sitecore\ContentSearch\Sitecore.ContentSearch.configファイルでは、<setting name="ContentSearch.SearchMaxResults" value="1000000" /> の値によって、クエリで数が指定されていない場合に1つの要求で取得されるドキュメントの最大数が指定されます。デフォルトは1000000です。ほとんどの場合、これを変更する必要はありません。この値を変更する必要がある場合は、パッチを適用してください。
-
\Website\App_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルでは、<setting name="ContentSearch.Update.BatchModeEnabled" value="true" /> の値によって、コミットがバッチ モードであるかどうかが指定されます。これにより、CMサーバーとSolrサーバー間のネットワーク・トラフィックが削減されます。<setting name="ContentSearch.Update.BatchSize" value="500" />設定の値は、バッチ内のドキュメント更新の数を指定します。バッチ モードはデフォルトでonです。インデックスが非常に大きい場合は、バッチサイズ設定をより大きな数値にパッチを適用して、パフォーマンスを向上させることができます。
-
Solrコアのカスタム名を指定します。
デフォルトでは、SitecoreはSolrで事前定義されたインデックス名を検索します。たとえば、マスターインデックスの事前定義された名前はsitecore_master_indexです。変更されていない場合は、何もする必要はありません。
ただし、インデックスに自分で名前を付けた場合は、これを反映するように構成にパッチを適用する必要があります。\website\App_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.Solr.Index.Master.configファイル内の<param desc="name">$(id)</param>の値は、カスタムインデックス名を指定します。たとえば、sc10_sitecore_master_indexというインデックスの1 <param desc="name">sc10_sitecore_master_index</param>。これは、カスタムインデックスを指定する必要があるファイルの完全なリストです。
インデックス設定ファイル
カスタムアイデン名
Sitecore.ContentSearch.Solr.Index.Core.config
<Sitecore instance name>_core_index
Sitecore.ContentSearch.Solr.Index.Master.config
<Sitecore instance name>_master_index
Sitecore.ContentSearch.Solr.Index.Web.config
<Sitecore instance name>_web_index
Sitecore.ContentTesting.Solr.IndexConfiguration.config
<Sitecore instance name>_testing_index, Sitecore instance name>_suggested_text_index
Sitecore.FXM.Solr.DomainsSearch.Index.Master.config
<Sitecore instance name>_fxm_master_index
Sitecore.FXM.Solr.DomainsSearch.Index.Web.config
<Sitecore instance name>_fxm_web_index
Sitecore.Marketing.Definitions.MarketingAssets.Repositories .Solr.Index.Master.config
<Sitecore instance name>__marketing_asset_index_master
Sitecore.Marketing.Definitions.MarketingAssets.Repositories .Solr.Index.Web.config
<Sitecore instance name>_marketing_asset_index_web
Sitecore.Marketing.Solr.Index.Master.config
<Sitecore instance name>_marketingdefinitions_master
Sitecore.Marketing.Solr.Index.Web.config
<Sitecore instance name>_marketingdefinitions_web
Sitecore.Personalization.Solr.IndexConfiguration.config
<Sitecore instancce name>_personalization_index
Solrスキーマの設定
Solrを実行し、Sitecoreを設定したら、SolrスキーマにSitecoreフィールドを入力します。
スキーマを設定するには:
-
Sitecoreで、Control Panelに移動してPopulate Solr Managed Schemaをクリックします。
-
すべてのインデックスを選択し、Populateをクリックします。
Schema Populateツールは、必要なSitecoreファイルをスキーマに入力します。
managed-schemaファイルにフィールドを追加することで、スキーマにフィールドを追加できますが、システム・インデックス・フィールドは変更しないでください。この操作は、Solrスキーマにツールを入力したあとでのみ行うことをお勧めします。You can use the solr admin schema page to add additional fields.
検索インデックスの再構築
Solrを使用してインデックスを作成する前に、Sitecoreコンテンツのインデックスを再作成する必要があります。検索インデックスを再構築するには、次のようにします。
-
Sitecoreで、Control Panelに移動してIndexing managerをクリックします。
-
すべてのインデックスを選択し、Rebuildをクリックします。
手記以前にマーケティング定義をデプロイしたことがある場合、マーケティング定義インデックスは既に再構築されているため、選択する必要はありません。
Sitecoreが使用するインデックス
このセクションでは、Sitecoreが使用するインデックスをリストします。
xDBの場合:
sitecore_core_index
sitecore_master_index
sitecore_web_index
sitecore_marketingdefinitions_master
sitecore_marketingdefinitions_web
sitecore_marketing_asset_index_master
sitecore_marketing_asset_index_web
sitecore_testing_index
sitecore_suggested_test_index
sitecore_personalization_index
sitecore_fxm_master_index
sitecore_fxm_web_index
xDBを使用しない場合:
sitecore_core_index
sitecore_master_index
sitecore_web_index