codecamp

使用传统的配置文件的SolrCloud

如果您正在从非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将跳过已经在其他节点上运行的更新处理器。
Solr命令行实用程序
使用ConfigSets API
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

SolrCloud

SolrCloud配置和参数

如何使用AsciiDoc

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }