1)首先在${tomcat目录}/conf/Catalina/localhost 创建两个solr的配置文件。
可以命名为solr.xml(主服务器配置)内容为:
<Context docBase="F:/apache-solr-1.4.0/dist/apache-solr-1.4.0.war" reloadable="true" >
<Environment name="solr/home" type="java.lang.String" value="F:/apache-solr-1.4.0/example/solr" override="true" />
</Context>
slaver_solr.xml (从服务器配置)内容为:
<Context docBase="F:/apache-solr-1.4.0/dist/apache-solr-1.4.0.war" reloadable="true" >
<Environment name="solr/home" type="java.lang.String" value="F:/solr分布式/solr" override="true" />
</Context>
可以看到两个配置所引用的后台管理是同一个目录的,但这个没关系,只要solr/home的不一样就行了,接着看主从服务器上solr/home的配置有什么不一样。主要是在solr/home/conf/solrconfig.xml上配置不一样的,其它配置可以互相拷贝。
主要不同的地方为如下:
从服务器的配置
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="slave">
<!--主服务器的url-->
<str name="masterUrl">http://localhost:8080/solr/replication</str>
<!--定时去请求主服务器,查看索引是否有改变-->
<str name="pollInterval">00:00:60</str>
</lst>
</requestHandler>
主服务器的配置
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
<str name="confFiles">schema.xml,stopwords.txt</str>
</lst>
</requestHandler>
大概这样的。启动 tomcat看看吧。。主服务器建立索引后,从服务器会请求将索引拷贝到从服务器中。