チュートリアル: Solrのセットアップ

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

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

このチュートリアルでは、Sitecoreで使用するためにSolrを設定する方法について説明します。Solrで使用可能なすべての設定オプションを網羅しているわけではなく、SitecoreでSolrを使用するための設定の詳細のみを文書化しています。

メモ

Content SearchコアをホストするSolrサーバーは、xDB Search Indexコアをホストするサーバーとは異なる場合があります。

Solrの資料の指示に従って、Solrをインストールします。SolrのWebサイトには、リソースがリストされています。そこでホストされているウィキは特に便利です。

手記

インデックスごとに個別のコアを使用する必要があります。Solr Wikiのこのトピックでは、マルチプル・コアの概念を紹介しています。

このチュートリアルでは、次の方法について説明します。

SolrのXMLスキーマを設定する

XMLスキーマを入力する前に、SitecoreでSolr検索プロバイダーを有効にする必要があります。Web.configファイルのEnabling a Search Provider設定は、Solrが有効になっていることをSitecoreに伝え、Sitecoreは次にインデックスにアクセスしたときにSolrサーバーへの接続を試みます。

<add key="search:define" value="Solr" />

Solrは、ドキュメントを処理するときに定義されたスキーマを使用します。既存のスキーマは、Populate Solr Managed Schemaツールを使用して変更できます。このツールは、Sitecoreフィールドに自動的に入力し、Sitecoreが必要とするすべてのフィールドが存在することを確認します。

このスキーマにさらにフィールドを追加するには、システム・インデックス・フィールドを変更しない限り、managed-schemaファイルにフィールドを追加します。これは、SolrスキーマにPopulate Solr Managed Schemaツールを入力したあとでのみ行うことをお勧めします。solr admin schemaページを使用して、フィールドを追加できます。

以下の手順に従って、Solrスキーマを設定します。

  1. Solr提供の構成例フォルダー ( _default (古いSolrバージョンではbasic_configs ) を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
  3. 手順1で作成したフォルダのconfフォルダの下にあるmanaged-schemaファイルを開きます。

    1. <uniqueKey>id</uniqueKey>の値を_uniqueidに設定します。

    2. fieldsセクションで、_uniqueidのフィールド設定を追加します。<field name="_uniqueid" type="string" indexed="true" required="true" stored="true"/>

    3. 変更を保存します。

  4. すべてのコンテンツ検索インデックスに対して、手順1と手順2を繰り返します。

    手記

    xdbインデックスでは、この操作を行わないでください。代わりに 、この説明 に従ってください。

  5. Solrを起動します。

  6. Sitecoreを起動し、Control Panelに移動します。

  7. Schema Populateウィンドウで、入力するインデックスを選択します。

  8. Populate」をクリックします。

SolrのXMLスキーマを生成する

Solrschema.xmlファイルを使用して、手動スキーマ ("古典的な" 方法) を使用することができます。

  1. Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルで、ContentSearch.Solr.SolrSchemaClass設定の値をclassicに変更します。

  2. solrconfig.xmlファイルで<schemaFactory>クラスをClassicIndexSchemaFactoryに設定します。

このトピックの以前のバージョンには、詳細が含まれています。

Solrが正しく動作していることを確認する

新しいschema.xmlファイルを作成し、solrconfig.xmlファイルを更新した後、Solrが正しく動作することを確認する必要があります。

Solrが正しく実行されていることを確認するには、次のようにします。

  1. Solrが実行されていないことを確認します。新しい設定をロードするには、完全な再起動が必要です。

  2. Solrを起動します。

  3. 出力ログファイルを確認します。エラーがない場合は、Solr管理ページを開きます。

    管理ページを開くには、ブラウザに次のURLを入力します:http://localhost:8983/solr/admin:

  4. Core Adminをクリックし、コアをクリックします。この例では、itembucketsという1つのコアがあります。

Solr管理ページが表示され、ログファイルにエラーがない場合、Solrは正しく実行されています。

Solrと連携するようにSitecoreを設定する

solr.search接続文字列は、Solrサーバーが配置されている場所を指定します。

この例では、デフォルトのSolrロケーションを指定します。

<add name="solr.search" connectionString="https://localhost:8983/solr" >

次のSolr固有の設定は、Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルにあります。

  • 検索プロバイダーの有効化

    この設定は、Solrが有効になっていることをSitecoreに伝え、次にインデックスにアクセスしたときにSolrサーバーへの接続を試みます。接続できない場合は、エラーが発生します。

    <setting name="ContentSearch.Provider" value="Solr" /> 

  • 検索結果の最大数

    これは、Sitecore.ContentSearch.configファイルにあるグローバル設定です。

    この設定には、クエリで制限が指定されていない場合に1つの要求で取得するドキュメントの最大数が含まれます (例: Take(10))。パフォーマンス上の理由から、実行中のクエリから返される結果の数をクエリし、ページングなどを使用してそれらを正しく処理することを覚えておくことが重要です。

    <setting name="ContentSearch.SearchMaxResults" value="500" />

  • バッチモードの有効化

    アイテムにインデックスが付けられると、作成されたドキュメントが検索インデックスに保存されます。デフォルトのLuceneプロバイダーが有効になっている場合、各書き込みはローカル ディスク上のファイルにフラッシュされます。Solrプロバイダーを使用してドキュメントを作成する場合、更新はネットワーク経由で移動する必要があります。

    インデックスが再構築されると、多数のドキュメント更新が作成されるため、ネットワーク トラフィックが大量に発生し、効率が悪くなる可能性があります。したがって、バッチを使用すると、インデックスのサイズが大きくなるにつれて更新プロセスを最適化できます。

    <setting name="ContentSearch.Update.BatchModeEnabled" value="true" />

    <setting name="ContentSearch.Update.BatchSize" value="500" />

    バッチ・モード (デフォルトで有効) は、これらのドキュメントの更新を受け取り、バッチが特定のサイズに達したときにのみSolrサーバーにフラッシュします。

    インデックスが大きくなるにつれて、このプロセスを最大限に活用するために、このバッチ サイズを増やすことができます。

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

Solrインデックス作成システムの使用を開始する前に、Sitecoreコンテンツのインデックスを再作成する必要があります。

Sitecore検索インデックスを再構築するには:

  1. Control Panelで、Indexing managerをクリックします。

  2. Select all」を選択し、「Rebuild」をクリックします。

    手記

    以前にマーケティング定義をデプロイしたことがある場合、マーケティング定義インデックスは既に再構築されているため、選択する必要はありません。

この記事を改善するための提案がある場合は、 お知らせください!