solr 之分布式索引库同步,分发

solr在这方面做的很给力啊。在配置文件中已经明确的说明了。

               1.如果是主索引服务器(这个服务器最好只负责对主索引库,与数据库进行数据的同步)。


    <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,elevate.xml</str>

         <!--每隔多少时间同步-->
         <str name="commitReserveDuration">00:00:60</str>

         <!--用户名密码-->
         <str name="httpBasicAuthUser">238</str>
         <str name="httpBasicAuthPassword">238</str>
       </lst>
     </requestHandler>


               2.如果是从索引服务器(这些服务器负责)

<requestHandler name="/replication" class="solr.ReplicationHandler" >  

          <lst name="slave">         

             <str name="masterUrl">http://localhost:port/solr/corename/replication</str>  

             <str name="pollInterval">00:05:00</str> 

             <str name="compression">internal</str>  

            <str name="httpConnTimeout">5000</str>  

            <str name="httpReadTimeout">10000</str>

            <str name="httpBasicAuthUser">238</str>  

            <str name="httpBasicAuthPassword">238</str>

          </lst>

</requestHandler> 


这样就实现了每隔一段时间索引库之间的同步。一般主索引服务器只做数据库更新操作,而从服务器做索引查询。

posted @ 2013-04-23 16:11  Dream-Weaver  阅读(337)  评论(0编辑  收藏  举报