solr4.2.1升级到4.6.0注意事项

首先,4.0版本以上必须要jdk1.6以上版本支持。

1、在4.6版本中,solrconfig.xml中的infoStream配置被删除了。
    这个配置主要是将indexWriter执行的调试信息输出到指定文本中。
    <infoStream file="INFOSTREAM.txt">false</infoStream>
    现在通过使用你的日志配置(org.apache.solr.update.LoggingInfoStream)来带替。
2、在4.5版本时,xml的配置文件解析更严格,
3、在4.3版本开始,不在包含slf4j/logging jar包,允许更灵活的使用其它任何log包。
4、从5.0版本开始,solr.xml中传统的格式将不被支持,看起来像是这样:
   

<solr>
  <solrcloud>
    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>
  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>


5、在4.4版本中,ByteField和ShortField被弃用,将来5.0版本中会被删除。请使用TrieIntField代替。包括
   SortableIntField -->IntField 或 TrieIntFile
   SortableDoubleField -->DoubleField 或 TrieDoubleField
   SortableFloatField --> FloatField 或 TrieFloatField
   SortableLongField -->  LongField 或 TrieLongField
   在schema.xml中删除以下旧的配置:
   <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
   
6、从4.4版本开始,对复合文件格式的使用是由IndexWriter直接设置,而不在是由合并策略<mergePolicy>来设置。
    设置 UseCompoundFile 为 true 时,solr 会将数据索引到一个索引文件中。有的操作系统有限制一个线程打开文件的数量,设置这个值为 true 时,可以避免达到这个文件数量限制。
    这个设置也将影响索引复制时需要传输的数据量。使用更少的格式文件,是以性能下降为条件的。    
    如果在solrconfig.xml中你有明确的配置<mergePolicy>和<setUseCompoundFile>选项,你应该删除在<indexConfig>块中直接配置useCompoundFile的选项。
    在solr5.0时,setUseCompoundFile选项将不起作用。
7、在4.5版本中,CloudSolrServer默认可使用多线程进行添加索引文档,
8、在4.x版本中,
   solr.JsonUpdateRequestHandler
   solr.CSVRequestHandler
   solr.BinaryUpdateRequestHandler
   solr.XmlUpdateRequestHandler
   solr.XsltUpdateRequestHandler
   都已被弃用,可以直接使用solr.UpdateRequestHandler代替。
9、更新最新的所有jar包
10、elevate.xml关于竞价排名的问题
    启动报错:Caused by: org.apache.solr.common.SolrException: Invalid Number: MA147LL/A
    主要是elevate.xml文档的问题,如果schema.xml中你定义的id字段类型是整型,就会报这个错,把id="MA147LL/A"的修改成数字就行了。
11、solrconfig.xml修改版本号
     <luceneMatchVersion>4.6</luceneMatchVersion>
     删除JsonUpdateRequestHandler和CSVRequestHandler的配置
12、schema.xm添加
    <field name="_version_" type="long" indexed="true" stored="true"/>
    <field name="_root_" type="string" indexed="true" stored="false"/>

你可能感兴趣的:(升级,solr4.2.1,4.6.0)