レガシー設定ファイルを使用したSolrCloud
ユーザー管理クラスタからSolrCloudに移行する場合、この情報は役立つ可能性があります。
必要な設定はすべて、Solrに同梱されているサンプル設定で既に設定されています。古い設定ファイルから移行する場合にのみ、以下の項目を追加する必要があります。SolrCloudモードでSolrを使用する予定がある場合、新しいSolrインスタンスからこれらのファイルとパラメータを削除しないでください。
これらのプロパティは3つのファイルに存在します: `schema.xml` または `managed-schema.xml`、`solrconfig.xml`、および`solr.xml`。
-
スキーマファイルには、`_version_`フィールドが定義されている必要があります。
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
-
`solrconfig.xml`には、`UpdateLog`が定義されている必要があります。これは`updateHandler`セクションで定義する必要があります。
<updateHandler> ... <updateLog> <str name="dir">${solr.data.dir:}</str> </updateLog> ... </updateHandler>
-
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は他のノードで既に実行された更新プロセッサの更新をスキップします。
デフォルトの更新リクエストプロセッサチェーンとオプションの詳細については、デフォルトの更新リクエストプロセッサチェーンセクションを参照してください。