レガシー設定ファイルを使用したSolrCloud

ユーザー管理クラスタからSolrCloudに移行する場合、この情報は役立つ可能性があります。

必要な設定はすべて、Solrに同梱されているサンプル設定で既に設定されています。古い設定ファイルから移行する場合にのみ、以下の項目を追加する必要があります。SolrCloudモードでSolrを使用する予定がある場合、新しいSolrインスタンスからこれらのファイルとパラメータを削除しないでください。

これらのプロパティは3つのファイルに存在します: `schema.xml` または `managed-schema.xml`、`solrconfig.xml`、および`solr.xml`。

  1. スキーマファイルには、`_version_`フィールドが定義されている必要があります。

    <field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
  2. `solrconfig.xml`には、`UpdateLog`が定義されている必要があります。これは`updateHandler`セクションで定義する必要があります。

    <updateHandler>
      ...
      <updateLog>
        <str name="dir">${solr.data.dir:}</str>
      </updateLog>
      ...
    </updateHandler>
  3. DistributedUpdateProcessorはデフォルトの更新チェーンの一部であり、カスタム更新チェーンにも自動的に挿入されるため、この機能のために変更を加える必要はありません。ただし、明示的に追加する場合は、`updateRequestProcessorChain`の一部として`solrconfig.xml`ファイルに追加することもできます。例:

    <updateRequestProcessorChain name="sample">
      <processor class="solr.LogUpdateProcessorFactory" />
      <processor class="solr.DistributedUpdateProcessorFactory"/>
      <processor class="my.package.UpdateFactory"/>
      <processor class="solr.RunUpdateProcessorFactory" />
    </updateRequestProcessorChain>

    DistributedUpdateProcessFactoryをチェーンに自動挿入したくない場合(たとえば、SolrCloud機能を使用したいが、更新を自分で分散したい場合)、チェーンに`NoOpDistributingUpdateProcessorFactory`更新プロセッサファクトリを指定します。

    <updateRequestProcessorChain name="sample">
      <processor class="solr.LogUpdateProcessorFactory" />
      <processor class="solr.NoOpDistributingUpdateProcessorFactory"/>
      <processor class="my.package.MyDistributedUpdateFactory"/>
      <processor class="solr.RunUpdateProcessorFactory" />
    </updateRequestProcessorChain>

    更新プロセスでは、Solrは他のノードで既に実行された更新プロセッサの更新をスキップします。

    デフォルトの更新リクエストプロセッサチェーンとオプションの詳細については、デフォルトの更新リクエストプロセッサチェーンセクションを参照してください。