使用传统的配置文件的SolrCloud
2018-01-04 14:26 更新
如果您正在从非SolrCloud环境迁移到SolrCloud,则此信息可能会有所帮助。
在 Solr 附带的示例配置中已经设置了所有必需的配置。如果您要迁移旧的配置文件,则只需添加以下内容。如果您打算在SolrCloud模式下使用Solr,请不要从新的Solr实例中删除这些文件和参数。
这些属性在3个文件存在:schema.xml、solrconfig.xml和solr.xml。
- 在schema.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 文件中。例如:
如果你不希望将DistributedUpdateProcessFactory自动注入到链中(例如,如果你要使用SolrCloud功能,但希望自己分发更新),请在链中指定更新处理器工厂NoOpDistributingUpdateProcessorFactory:<updateRequestProcessorChain name="sample"> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.DistributedUpdateProcessorFactory"/> <processor class="my.package.UpdateFactory"/> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
在更新过程中,Solr将跳过已经在其他节点上运行的更新处理器。<updateRequestProcessorChain name="sample"> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.NoOpDistributingUpdateProcessorFactory"/> <processor class="my.package.MyDistributedUpdateFactory"/> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
以上内容是否对您有帮助:
更多建议: