隔週連載groonga

最終回 groongaの今と未来

この記事を読むのに必要な時間:およそ 3 分

2013年4月2日より約半年にわたり(およそ)隔週でgroongaという全文検索エンジンプロダクトに関する情報を届けてきました。「読者の皆さんがgroongaを使いたくなる!」ことを目指し,事例とプロダクトを紹介しました。

事例を紹介することにより,具体的にどのように使うのかがイメージしやすくなることを狙いました。プロダクトそのものも紹介することにより,検索機能を提供するブラックボックスなプロダクトではなく,自分たちの問題と同じことを解決しようとしている自分たちにあったプロダクトなのかを判断できるようになることを狙いました。みなさんの役に立った記事はあったでしょうか?

さて,最終回の今回はgroongaおよびgroonga関連プロダクトの最新情報とこれからの予定について紹介します。

ぐるんが族の最新情報

最初にぐるんが族※1の最新情報を紹介し,それから近い未来の予定について紹介します。

※1
第5回「○roonga」という名前がついたソフトウェアのことを「ぐるんが族」「ぐるんがファミリー」と呼ぶこともあると紹介しました。

groongaの最新情報

まずはgroongaの最新情報です。

groongaはあいかわらず毎月肉の日(29日)にリリースしています。毎月10から20個の改良・修正が入っています。

修正の多くはユーザのみなさんが報告してくれたものです。以前より報告件数が増えているため,ユーザ,それも問題を発見したら報告してくれるユーザが増えていることがわかります。groongaコミュニティーがよい方向に成長している証ですね。

ユーザが増えたのは,もしかしたらこの連載を始めたおかげかもしれません。だとしたら,この連載を続けた甲斐があったというものです。

大きめの新機能は次のとおりです。

  • マルチセクションインデックスで使うセクションを指定できるようになりました。これは,後述するmroongaの「Wプラグマ」機能を実現するための機能拡張です。
  • tokenizeコマンドを追加しました。これでトークナイザーの挙動を簡単に確認できるようになりました。

他にもログまわりなどで使いやすくなる改良がいくつも入っています。運用面で便利になる機能も整備されており,groongaがより安定したサービスとして使えるようになりました。運用時のフィードバックをさらに反映することで,より運用しやすいサービスとして成長しています。

mroongaの最新情報

次はmroongaの最新情報です。mroongaについては第3回の記事も参考にしてください。

mroongaはgroongaをバックエンドとして使っているMySQLのストレージエンジンでしたね。SQLでgroongaを使えるようになるため,既存のSQLクライアントライブラリを使って高速な全文検索機能を利用できます。

mroongaもあいかわらず毎月肉の日(29日)にリリースしています。こちらもgroongaと同じように毎月10から20個の改良・修正が入っています。

メーリングリストでの質問やバグ報告の多くはmroongaに関するものです。その中でもgroonga側で対応したほうがよいものはgroongaで対応し,mroongaで対応したほうがよいものはmroongaで対応しています。

groongaコミュニティーがよい方向に成長しているのはmroongaユーザが増えていることが大きな理由でしょう。groongaを直接使ったほうがドリルダウン検索(ファセット検索)などより柔軟で高度な検索ができるのですが,クライアント側のライブラリが充実していてアプリケーションを作りやすいため,これからもmroongaユーザは増えていくでしょう。

使い方が難しいのですが,SQLでgroongaのコマンドを実行する機能をmroongaに追加したので,やろうと思えばmroongaからgroongaの柔軟で高度な検索機能を使うこともできます。このあたりも,groongaを直接使うのではなく,mroonga経由で使うユーザが増えている理由でしょう。

大きめの新機能は次のとおりです。

  • TritonnにあったWプラグマをサポートしました。これでほとんどのよく使われるTritonnの機能はmroongaでもできるようになりました。Tritonnからmroongaへの移行に関しては第6回の記事を参照してください。
  • Windowsでmroongaを使えるようになりました。これでより手軽に試せます。これは後述するMariaDBへのバンドルに向けた作業の一歩でもあります。

前にmroongaを検討してみたけどそのときはやめたんだよなぁという人は,ぜひもう一度検討してみてください。かなり進化していることに驚くことでしょう。

rroongaの最新情報

次はrroongaの最新情報です。rroongaについては第5回の記事も参考にしてください。

rroongaはgroongaをRubyから使うためのライブラリです。インストールのしやすさとRubyらしいAPIを提供しているため,Rubyで書かれたアプリケーションに簡単に全文検索機能を組み込める便利なライブラリです。mroongaと同じようにrroongaも広く使われています。比較的大きなデータを扱うときはmroongaが使われることが多く,中規模くらいのデータまではrroongaが使われることが多いようです。これは,rroongaは別途サーバプロセスを用意しなくてもよいため,アプリケーションのみの構成ですむ中規模くらいのデータに使いやすいからでしょう。

rroongaは毎月肉の日(29日)近辺にリリースしています。groongaがリリースされてから数日遅れでリリースしている感じです。

rroongaはユーザのみなさんからのフィードバックというよりは,groongaの最新機能を使えるようにするための変更が多いです。そのため,最新のgroongaの機能を使いたい場合は最新のrroongaを使うことをオススメします。

著者プロフィール

須藤功平(すとうこうへい)

フリーソフトウェアプログラマで株式会社クリアコード代表取締役(2代目)。groongaおよび関連プロジェクトの開発に深く関わっている。最近は開発をしながらgroonga-devメーリングリストでせっせと回答している。

コメント

コメントの記入