ソフトウェアデザイン 10月号はRiakでの全文検索の話です

まだやっとるんかい、というツッコミをいただきそうですが、ソフトウェアデザイン10月号にRiakでまた記事を書きました。今回はRiakで全文検索をする、というか、JSONログを掘るはなしです*1…が、記事を書いた時と若干手順が変わっているので補足。

これを書いたときは0.8.0が最新版だったのですが、いまは0.9.0がリリースされていて、インストールの方法が変わっています。そして、年内に出る(と期待される)Riak 2.0の開発ブランチにすでにマージされていて、いくつか変わっています。

設定ファイルのフォーマットが変わった

こう、ものすごく…ふつうの.iniフォーマットっぽい感じになっています。どれくらいふつうかというと、ドット区切りになっていたりします!

 The enabled Yokozuna set this 'on'.
yokozuna = off

## The port number which Solr binds to.
yokozuna.solr_port = 8093

## The port number which Solr JMX binds to.
yokozuna.solr_jmx_port = 8985

## The arguments to pass to the Solr JVM.  Non-standard
## arguments, i.e. -XX, may not be portable across JVM
## implementations.  E.g. -XX:+UseCompressedStrings.
yokozuna.solr_jvm_args = -Xms1g -Xmx1g -XX:+UseStringCache -XX:+UseCompressedOops

## The data under which to store all Yokozuna related data.
## Including the Solr index data.
yokozuna.data_dir = ./data/yz

etc/app.config のかわりに etc/riak.conf というファイルになっているので適当にみつけてください。

パフォーマンスがよくなった

あとはパフォーマンス問題が解決されています。実は記事を書いているときに「スループット出ないなぁ、なんかおかしいなぁ…」と思いながら締切に追われて深く調べるヒマがなかったのであまり性能の話を書けなかったのですが、やはりボトルネックというかバグがあって、それが修正されています。なので、Yokozunaの性能を測りたい場合は0.9.0推奨です。

機能を知りたいだけなら0.8.0でも十分です。もし0.9.0のコンパイルでコケることがあったら、次の手順を試してみてください。

$ tar xzf riak-yokozuna-0.9.0.tar.gz
$ cd riak-yokozuna-0.9.0
$ ./rebar get-deps
$ ./rebar compile
$ ./rebar generate

どうもMakefileをはさむとCuttlefishあたりでおかしくなるので、まあ心配なときは deps というディレクトリを消すと最初からやり直すことができます。

それでは、Happy Databassing!!

*1:ちなみにふつうの全文検索もできるはずなので、調べたら書くつもりです