solr分布式索引

1、分发
这个功能是已经配置在query request handler里面的。因此你无需做额外的配置,如果你想在多个shards上面进行查询,那么你只需要在url跟相关的参数即可:
Eg: http://localhost:8080/solr1/select?shards=localhost:8080/solr1,localhost:8080/solr2&q=*php*

2、SOLR复制模式
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。

以下讲解具体操作步骤:

步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。

主服务器:
在solrConfig.xml中,找到以下行:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">commit</str>

<str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>

<str name="commitReserveDuration">00:05:00</str>
<str name="httpBasicAuthUser">123</str>
<str name="httpBasicAuthPassword">123</str>


</lst>
</requestHandler>

说明:

replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。

从服务器

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

<str name="masterUrl">http://localhost:port/solr/corename[color=red]/replication[/color]</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">123</str>
<str name="httpBasicAuthPassword">123</str>

</lst>
</requestHandler>

说明:

masterUrl : 主服务器同步URL地址,[color=red]“replication”是固定字符串[/color],eg:http://localhost:8080/solr/core/replication
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致
httpBasicAuthPassword:验证密码,需和主服务器一致
compression:external or internal 使用SOLR自己的压缩算法或应用容器的

区别: 内部算法会大大提高同步成本,原话: USE THIS ONLY IF YOUR BANDWIDTH IS LOW . THIS CAN ACTUALLY SLOWDOWN REPLICATION IN A LAN。

因此建议使用外部方式即: external .

同时需要配置外部应用容器: 以TOMCAT为例:
server.xml中
<Connector compression="on"
compressableMimeType="text/html,text/xml,text/plain"
compressionMinSize="2048"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值