solrには非常に簡単にレプリケーション(データの複製・同期)をする仕組みがあります。
ReplicationHandlerというものを使うと、http通信をして簡単にレプリケーションができます。
古いsolrではssh + rsyncで頑張って行うタイプのレプリケーションでしたが、
ver1.4以降はReplicationHandlerでレプリケーションするのが一般的です。
恥ずかしい事に私はReplicationHandlerをほとんど使った事が無かった(ssh+rsync形式しか経験無し)ので、
ReplicationHandlerを試してみました。
結果から言うと滅茶苦茶簡単だったので、全く躓くこと無くあっという間に終わりました。
しかし・・・
なんかmaxNumberOfBackupsの世代管理が動かないな
と、世代管理が効かない事に気づきました。
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <str name="replicateAfter">startup</str> <str name="replicateAfter">commit</str> <str name="backupAfter">optimize</str> <str name="confFiles">schema.xml,stopwords.txt</str> <str name="commitReserveDuration">00:00:10</str> <int name="maxNumberOfBackups">5</int> </lst> </requestHandler>
これで合っているはずなんですが、なんで動かないのだろう。
検討もつかないのでネットで探してみると・・・
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <str name="replicateAfter">startup</str> <str name="replicateAfter">commit</str> <str name="backupAfter">optimize</str> <str name="confFiles">schema.xml,stopwords.txt</str> <str name="commitReserveDuration">00:00:10</str> </lst> <int name="maxNumberOfBackups">5</int> </requestHandler>
こんな感じにmasterの外側にしたら動きました・・・
全く・・・まあsolrにとっては日常茶飯事なんですけどね。
(;`・ω・́)<罠を仕込むのはやめなさい!!
tree-tipsにReplicationHandlerの記事をアップしました!
Apache Solr入門 ―オープンソース全文検索エンジン
- 作者: 関口宏司,三部靖夫,武田光平,中野猛,大谷純
- 出版社/メーカー: 技術評論社
- 発売日: 2010/02/20
- メディア: 大型本
- 購入: 18人 クリック: 567回
- この商品を含むブログ (22件) を見る