@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

新しいsolr.xmlとCore探索ロジック

Lucene/Solr 4.3.1のRCのVoteが始まっていますが、そのMLできになったコトがあり、ちょっと調べたので メモを残しておきます。

マルチコアの設定ファイルであるsolr.xmlの記述方法と、コアの探索ロジックが4.4(実装的には4.3から入っている)から変更されるようです。4.x系の最新版である、branch_4xのexampleディレクトリにあるsolr.xmlも新しい記述に変更されていました。

参考URL

ちなみに、最後のold styleと呼ばれる4.3までの記述方法はつぎの5.0ではDeprecatedになるようです。(5.0がいつ出るのかはわからないですが。)

Core探索ロジック

4.4から、$SOLR_HOMEディレクトリ以下の探索ロジックは次のようになるようです。 以下では、「新スタイル」(4.4以降の書式)、「旧スタイル」(4.3以下の書式)として記述します。

  1. solr.xmlファイルの存在チェック
    1. solr.xmlが存在しない場合→旧スタイルとして処理→3へ(旧スタイル)
    2. solr.xmlが存在し<cores>タグが存在しない場合→2へ(新スタイル)
    3. solr.xmlが存在し<cores>タグが存在する場合→3へ(旧スタイル)
  2. 新スタイルのロジック
    1. SOLR_HOMEディレクトリに存在するディレクトリについて以下の処理を繰り返す
    2. SOLR_HOME/ディレクトリ/core.propertiesファイルが存在する→後続処理へ。存在しなければ終了
    3. SOLR_HOME/ディレクトリ/conf/solrconfig.xmlを読み込み、コアを起動
  3. 旧スタイルのロジック
    1. これまで同様、solr.xmlの<core>タグの記載内容を元にコアを起動(instanceDir以下のconf/solrconfig.xmlを使って)
    2. solr.xmlが存在しない場合はSOLR_HOME/collection1/conf/solrconfig.xmlが存在するものとしてコアを起動

このようなロジックになります。

ちなみに、以下の場合はエラーとなりSolrは起動しますがログや管理画面にエラーである表示がされます。

  • 2.3でsolrconfig.xmlが見つけられなかった場合
  • 3.1で<core>タグが存在しなかった場合(この場合、ログにはエラーが出ません)

propertiesに記述できる内容やsolr.xmlの記述内容については、Wikiを見てもらうということで。。。 CoreAdminHandlerでコアを生成したりした場合に、新スタイルの設定がどのように出力されるのかといった点が気になりますが、また今度にでも。

Comments