読者です 読者をやめる 読者になる 読者になる

Screaming Loud

研究・プログラミングなど気づいたことをメモをしています

SolrをレプリケーションしてBrokerを立てて、分散検索をやる方法

CentOSにSolrを入れた時、分散検索を行うためBrokerをどう立てればよいかわからなかったので、そのメモを残しておきます。
Solrはマイナーバージョンが変わるだけで結構仕様が変わるので厄介です。

構成

CentOS6.3
Solr4.4.0

やったこと

まずは、Solrのレプリケーションを組みます。

レプリケーションを組むことに関しては、さほど難しくありません。
moco(beta)'s backup: Solrのレプリケーション機能を試す (1)
上のリンク先を見てもらえればできるかと思います。

その後、Brokerを作ります。
構成は以下のようになります。

f:id:yuutookun:20131010010226p:plain

やることは非常に簡単でselectクエリを投げるリクエストハンドラに以下のshardsパラメータを追加すればよいだけです。

<requestHandler name="/select" class="solr.SearchHandler">
  <!-- default values for query parameters can be specified, these
       will be overridden by parameters in the request
    -->
   <lst name="defaults">
     <str name="echoParams">explicit</str>
     <int name="rows">10</int>
     <str name="df">title</str>
     <str name="shards">192.168.0.2:8080,192.168.0.3:8080,192.168.0.4:8080</str>
   </lst>
</requestHandler>