2011年6月21日火曜日

俺gem java_binをバージョンアップした

■概要

拙作gem、java_bin を約1年ぶりに更新しました!
















ダウンロードは http://rubygems.org/gems/java_bin からどうぞ!
...て何者か良く分からないので少し説明します。

■java_binとは

全文検索サーバの有名なプロダクトの一つに、Apache Solr があります。内部ではLuceneライブラリ(ツイッター内部でも利用されている)を利用しており、一説では white house のサイトでも利用されているようです。

アプリケーション側からSolrへの通信は、httpプロトコルで行いますが、その際のレスポンスフォーマットを、複数の中から選択する事ができます(wtパラメータ)。

通常rubyから利用する場合は、wt=ruby もしくは wt=jsonを利用する事になりますが、wt=javabin を利用する事により、バイナリフォーマットを指定する事ができます。しかしrubyでは解釈する事が出来ない為、C言語拡張を利用しparserを作成しました。







バイナリフォーマットを利用する事により、下記の点が期待できます。

・parseコストの削減
・通信量の削減
・型に応じたインスタンス化

実際parseコストに関しては、3~6倍程度の高速化が実現できています。

■今回何が新しくなったのか

0.4.0では下記の点で新しくなっています。

・solr 3.1以降のjavabin format2に対応
・RailsInstallerでのコンパイルサポート

0.3.5を一年近くプロダクションで利用してきましたが、無問題でした!
rubyからsolrを利用する際に、高速化したい!というニッチなお悩みをお持ちの方は是非 ^o^

0 件のコメント:

コメントを投稿