intra-mart Accel Platform Solr管理者ガイド 第7版 2021-04-01

5. Solrの設定

Solr の設定項目について説明します。

5.1. コアの追加・削除

5.1.1. コアとは

コアはRDBのスキーマに相当し、コアごとにスキーマ定義やクエリの設定を持つことができます。
1つのSolrインスタンスの中に複数のコア(マルチコア)を設定することで、コアごとにインデックスが保持されます。
弊社から提供しているセットアップ資材のSolr環境は初期状態で default というコアが設定されています。
コアの設定ファイル(<schema.xml>,<solrconfig.xml>など)にはIM-ContentsSearch用の設定が最初から記載されています。

5.1.2. intra-mart Accel Platformのマルチテナント環境における Solr の構成

intra-mart Accel Platformでは、WARファイルによる複数テナントおよび、バーチャルテナントによる複数テナントで運用する場合には、テナントごとにコアを設定し、テナント単位でインデックスの管理を行います。
WARファイルによる複数テナントおよび、バーチャルテナントによる複数テナント環境での Solr の構成は以下の2つのパターンが考えられます。
  1. テナントごとに Solr を構築する
  2. 1つの Solr で、テナントごとにインデックスを管理する(コアを複数作成する)。
2の構成にする場合には、Solrコア構成の変更が必要です。
データの増加に応じてインデックスが増加することにより検索や最適化の処理速度が低下する場合があるため、可能であれば、テナントごとにSolrのインスタンスを分けて(1の構成で)運用することを推奨します。
図 1つのSolrインスタンスに複数のコアを設定した場合のWARファイルによる複数テナントおよび、バーチャルテナントによる複数テナント環境の概念

注意

IM-ContentsSearchではコンテンツを識別するユニークキーに ID フィールドを指定しており、別々のテナントでコンテンツのIDが生成されるため、各テナントに同じSolrコアを設定することはできません。

5.1.3. コアの追加

コアを作成する例の手順を紹介します。
default のコアがあることを前提とします。
  1. コマンドラインからコアを作成

    コマンドラインから、以下のコマンドを実行します。
    • Windowsの場合

      C:\solr\bin> solr.cmd create -c %CORE_NAME% -d _iapdefault
      
    • Linuxの場合

      /usr/local/solr/bin/solr create -c %CORE_NAME% -d _iapdefault
      
  2. 「Solr管理画面」の確認

    ブラウザで「Solr管理画面」が表示できることを確認してください。

    http://<HOST>:<PORT>/solr/#/%CORE_NAME%/core-overview
    

5.1.4. コアの削除

コアを削除する例の手順を紹介します。
  1. コマンドラインからコアを作成

    コマンドラインから、以下のコマンドを実行します。
    • Windowsの場合

      C:\solr\bin> solr.cmd delete -c %CORE_NAME%
      
    • Linuxの場合

      /usr/local/solr/bin/solr delete -c %CORE_NAME%
      

5.2. コアごとの設定

コアごとに下記の設定を行うことが可能です。

5.2.1. 基本設定(solrconfig.xml)

弊社から提供しているセットアップ資材に含まれる<solrconfig.xml>はIM-ContentsSearch用の設定が記述されています。
<solrconfig.xml>は %SOLR_HOME%/server/solr/%コア名%/conf ディレクトリ内に保存されています。
以下に記載する項目以外の内容は変更しないでください。
  • インデックス保存ディレクトリ

    インデックスが保存される場所です。初期状態では %SOLR_HOME%/server/solr/%コア名%/data ディレクトリに保存されます。
    相対パスで指定した場合はアプリケーションサーバを起動したディレクトリによってカレントディレクトリが変わるため、絶対パスでの指定を推奨します。
    <dataDir>${solr.data.dir:}</dataDir>
    

5.2.2. スキーマの設定(schema.xml)

弊社から提供しているセットアップ資材に含まれる<schema.xml>はIM-ContentsSearch用のスキーマ定義が記述されています。
IM-ContentsSearchのためのフィールドやアナライザの定義が記載されているため、必要がない限り<schema.xml>の内容を変更しないでください。
<schema.xml>は %SOLR_HOME%/server/solr/%コア名%/conf ディレクトリ内に保存されています。

コラム

IM-ContentsSearch が利用する Solr のフィールド(<schema.xml>で定義されているフィールド)は、IM-ContentsSearchの検索フィールド設定(solr-field-config)によって指定されています。
詳細は以下のドキュメントを参照してください。