Kouhei Sutou
kou****@clear*****
2012年 8月 29日 (水) 10:57:04 JST
須藤です。 今日は肉の日ですね。 groonga用のテストツールであるgrntestの最初のバージョンをリリー スしました! リポジトリ: https://github.com/groonga/grntest インストール: gem install grntest 使い方(英語): https://github.com/groonga/grntest#usage grntestはgroongaのコマンド(*)列が期待する結果になるかを確認 するツールです。MySQLのmysql-testというツールのgroonga版です。 (*) selectやloadなど もちろん、groonga本体のテストにも使っています。 https://github.com/groonga/groonga/tree/master/test/function groonga本体で使うことが一番大きなユースケースなので、groonga 本体の開発者が嬉しいツールなのですが、ユーザーのみなさんにも 有用だろうと思ったのでパッケージ化しました。以下のようなケー スで有用だと思います。 ○ MeCabの辞書のチューニング MeCabは使う辞書によってトークンの切り方が変わってきます。そ のため、既存の辞書でアプリケーションの要件を満たせない場合は 辞書をチューニングしていく必要があります。(あるいは TokenBigramと併用する。) 辞書を変更すると追加・変更した単語以外にも影響がでます。その ため、対象となる単語だけではなく、他の文なども確認する必要が あります。辞書の変更が数回程度であれば手作業で書くにしてもよ いでしょうが、継続的に改良していくのであれば自動化したいとこ ろです。 で、そんなときにこのgrntestが便利に使えるはずです。 ○ 互換性チェック groongaがバージョンアップにより使っている機能の挙動が変わった かどうかを確認するためにgrntestを使うことができます。アプリ ケーションのテストが揃っていれば別途grntestで確認しなくても よいでしょうが、アプリケーション開発者とインフラエンジニアが 異なる場合などはgrntestでgroonga自体の互換性チェックをした方 がよいかもしれません。 もちろん、互換性が壊れる場合はリリースアナウンスなどでお伝え します。二重チェックという意味で実際の挙動を確認できた方が安 全ではないかということです。 ○ プラグイン開発 実は、groongaにはプラグインの仕組みがあるのですが、ドキュメ ントが不足しているためちょっとやそっとじゃ手がでません。が、 今後はドキュメントが充実したりしてより気軽にプラグインを開発 できる時代がくるはずです。そんな時代がきたらこのgrntestが役 立つはずです。 このように、カジュアルにgroongaを使っている場合は必要にならな いツールですが、なにかの時に便利だと思うので、いざという時に は思い出してやってください。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/