使用传统的配置文件的SolrCloud

2018-01-04 14:26 更新

如果您正在从非SolrCloud环境迁移到SolrCloud,则此信息可能会有所帮助。

在 Solr 附带的示例配置中已经设置了所有必需的配置。如果您要迁移旧的配置文件,则只需添加以下内容。如果您打算在SolrCloud模式下使用Solr,请不要从新的Solr实例中删除这些文件和参数。

这些属性在3个文件存在:schema.xml、solrconfig.xml和solr.xml。

  1. 在schema.xml中,你必须定义了一个_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将跳过已经在其他节点上运行的更新处理器。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号