---
title: "攻略:Solrの設定方法"
slug: "walkthrough--setting-up-solr"
abstract: "SitecoreでSolrの設定方法を学びましょう"
---
# 攻略:Solrの設定方法

このウォークスルーでは、Sitecoreで使うためのSolrの設定方法を説明します。Solrで利用可能なすべての設定オプションを網羅しているわけではなく、SitecoreでSolrを使用するための具体的な設定情報のみを記述しています。Solrのウェブサイトには、より高度なSolrの設定に関する情報があります。

[Solrの互換性表](https://support.sitecore.com/kb?id=kb_article_view&sysparm_article=KB0227897)で、どのバージョンがあなたのバージョンのSitecoreに対応しているか確認してください。

> !注あなたのコンテンツSearchコアをホストするSolrサーバーは、xDB Search Indexコアをホストするサーバーとは異なる場合があります。

Solrのドキュメントにある指示に従ってSolrをインストールしてください。Solrのウェブサイトにはリソースが掲載されています。特にそこにホストされている[Apache Solrウィキ](http://wiki.apache.org/solr/)は非常に役立ちます。

> !注各インデックスごとに別々のコアを使用する必要があります。Apache Solrのウィキには[複数コアの概念の入門](http://wiki.apache.org/solr/CoreAdmin)があります。

## SolrをSitecoreと連携させる設定

SitecoreはSolrでマネージドスキーマを使用しています。

Solrの例設定をSitecoreで使うように変更するには、以下の手順に従ってください:

1.  Solrが提供する設定例フォルダ「 \_default 」をSOLR\_DIR/server/solr/configsetsフォルダからSOLR\_DIR/server/solrフォルダにコピーします。
    
2.  作成したフォルダ(SOLR\_DIR/server/solr/CORE\_NAME)にcore.propertiesというテキストファイルを作成し、以下の値を指定します。
    
    name=CORE\_NAME
    config=solrconfig.xml
    update.autoCreateFields=false
    dataDir=data
    

管理スキーマを設定するには、以下の手順に従ってください:

1.  [作成したフォルダ](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/walkthrough--setting-up-solr.html#UUID-c49e3e99-c717-1fa7-b788-77258c364a83_N1575970281635)のconfサブフォルダ内のマネージドスキーマファイルを開きます。
    
2.  <uniqueKey>id</uniqueKey>ノードの値を\_uniqueidに設定します(例:<uniqueKey>\_uniqueid</uniqueKey>)。
    
3.  fieldsセクションで、\_uniqueidのフィールド構成を追加します:
    
    <field name="\_uniqueid" type="string" indexed="true" required="true" stored="true"/>
    

SitecoreのすべてのSolrインデックスは同じ方法で設定する必要があります。Sitecoreが使用するインデックスのリストは [「Sitecoreで使用されているインデックス](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/walkthrough--setting-up-solr.html#UUID-c49e3e99-c717-1fa7-b788-77258c364a83_section-idm456431718994883151978626308 "The indexes used by Sitecore")」にあります。

以下の索引はSitecore XPです:

![The indexes in Sitecore XP](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/platform-administration-and-architecture/images/schema_pop.png)

## 走れ、ソル

コアを作成したら、Solrインスタンスを再起動してください。Solrが正しく動作しているかを確認するために:

1.  管理ページを開くhttps://<host>:8983/solr:
    
    ![The Dashboard on the Solr administration page](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/platform-administration-and-architecture/images/dashboard.png)
    
2.  ログのエラーがないかログセクションを確認してください。認証や認可に関する警告が出ることがありますが、これは予想されます。警告を取り除きたい場合は、基本認証を有効にしてください。
    
3.  利用可能なコアを確認するためにCore **Admin**セクションを開きます。これらのコアはcore.propertiesファイルで指定したため自動的に作成されます。設定ファイル内で正しいコア名を使用することが重要です。名前は大文字を区別します。デフォルト名を使えば、設定を変更する必要はありません。
    
    ![The Core Admin settings on the Solr administration page](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/platform-administration-and-architecture/images/core_admin.png)
    

## SitecoreをSolrと連携させる設定

このセクションでは、SitecoreをSolrと連携させる設定方法を説明します。以下の手順に従ってください:

1.  SitecoreインスタンスのSolrへの正しい接続文字列を指定するには、\\Website\\App\_config\\ConnectionStrings.configファイルを開き、solr.search接続文字列を確認します。例は以下のようになります:
    
    <add name="solr.search" connectionString="https://localhost:8983/solr">
    
2.  検索プロバイダーを指定するには、Web.configファイルを開きます。 search:defineキーを調べてください。このような見た目は以下の通りです:
    
    <add key="search:define" value="Solr" />
    
3.  \\Website\\App\_config\\Sitecore\\ContentSearch\\Sitecore.ContentSearch.configファイルでは、<setting name="ContentSearch.SearchMaxResults" value="1000000" />の値がクエリで指定されていない場合、1回のリクエストで取得できる最大ドキュメント数を指定します。デフォルトは1000000です。ほとんどの場合、これを変更する必要はありません。変更が必要ならこの値を修正してください。
    
4.  \\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" />設定の値はバッチ内の文書更新回数を指定します。バッチモードはデフォルト*でオン*です。インデックスが非常に大きい場合は、バッチサイズ設定を大きな数にパッチで当ててパフォーマンスを向上させることができます。
    
5.  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というインデックスの<param desc="name">sc10\_sitecore\_master\_index</param>です。これはカスタムインデックスを指定する必要があるファイルの完全なリストです:
    
    インデックス設定ファイル
    
    カスタムiden name
    
    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フィールドを入力します。

スキーマを埋めるために:

1.  Sitecoreで **コントロールパネル** に行き、「 **Solr Managed Schemaを入力」**をクリックします。
    
2.  すべてのインデックスを選択し、「 **ポピュレート」**をクリックします:
    
    ![The indexes](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/platform-administration-and-architecture/images/schema_pop.png)
    

**Schema Populate**ツールは、スキーマに必要なSitecoreファイルでスキーマを埋めます。

managed-schemaファイルにフィールドを追加することでスキーマにフィールドを追加できますが、システムインデックスフィールドは変更しないでください。ツールでSolrスキーマを埋めた後にのみ行うことをお勧めします。**solr管理スキーマのページを使って追加のフィールドを追加できます。**

## 再構築検索インデックス

Solrのインデックス作成を始める前に、まずSitecoreのコンテンツを再インデックスする必要があります。検索インデックスを再構築するには:

1.  Sitecoreで **コントロールパネル** に行き、「 **インデックスマネージャー**」をクリックします。
    
2.  すべてのインデックスを選択して「 **再構築**」をクリックします。
    
    > !注以前にマーケティング定義を導入した場合、マーケティング定義のインデックスを選択する必要はありません。すでに再構築済みだからです。
    
    ![The Indexing Manager](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/platform-administration-and-architecture/images/indexing_man.png)
    

## 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