“Solr4.0升级参考”的版本间的差异
来自Dennis的知识库
Dennis zhuang(讨论 | 贡献) (→配置变更) |
Dennis zhuang(讨论 | 贡献) (→配置变更) |
||
第23行: | 第23行: | ||
=== solrconfig.xml === | === solrconfig.xml === | ||
* indexDefaults和mainIndex合并成indexConfig | * indexDefaults和mainIndex合并成indexConfig | ||
− | * | + | * 加入 |
<luceneMatchVersion>LUCENE_CURRENT</luceneMatchVersion> | <luceneMatchVersion>LUCENE_CURRENT</luceneMatchVersion> | ||
第29行: | 第29行: | ||
选择你使用的lucene版本号。 | 选择你使用的lucene版本号。 | ||
− | * | + | * 找到updateHandler,并加入updateLog,用于生成事务日志 |
+ | |||
<updateLog> | <updateLog> | ||
<str name="dir">${solr.data.dir:}</str> | <str name="dir">${solr.data.dir:}</str> | ||
</updateLog> | </updateLog> | ||
+ | |||
* 原来用于复制的replicationHandler可以简化成: | * 原来用于复制的replicationHandler可以简化成: | ||
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" /> | <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" /> |
2012年12月3日 (一) 05:44的版本
目录 |
介绍
最近负责solr集群的升级,从solr 3.x的一个shard集群升级到solr 4.0的cloud集群。
Why
Solr 4.0引入了SolrCloud功能,利用zookeeper做到全自动的分区、负载均衡,无需再人工做痛苦的shard切分,也不需要利用Haproxy或者Nginx做前端的负载均衡。这是我们升级的主要动力。Solr 4.0还有一个NRT,近实时搜索的特性也是我们比较关注的。
整个升级主要参考SolrCloud这篇文档。
配置变更
schema.xml
schema.xml 必须加入_version_字段:
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
solrconfig.xml
- indexDefaults和mainIndex合并成indexConfig
- 加入
<luceneMatchVersion>LUCENE_CURRENT</luceneMatchVersion>
选择你使用的lucene版本号。
- 找到updateHandler,并加入updateLog,用于生成事务日志
<updateLog> <str name="dir">${solr.data.dir:}</str> </updateLog>
- 原来用于复制的replicationHandler可以简化成:
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
- 添加/get handler:
<requestHandler name="/get" class="solr.RealTimeGetHandler"> <lst name="defaults"> <str name="omitHeader">true</str> </lst> </requestHandler>
- 如果没有添加admin handler,必须添加:
<requestHandler name="/admin/" class="solr.admin.AdminHandlers" />
solr.xml保持默认:
<cores adminPath="/admin/cores"
- DistributedUpdateProcessor会自动添加到update链里,但是你也可以手动添加:
<updateRequestProcessorChain name="sample"> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.DistributedUpdateProcessorFactory"/> <processor class="my.package.UpdateFactory"/> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
- solr.DisMaxRequestHandler相关handler需要删除。
- solr.AnalysisRequestHandler相关handler需要删除。