Groonga 5.0.8リリース
今日は肉の日ですね!
Groonga 5.0.8 をリリースしました!
それぞれの環境毎のインストール方法: インストール
変更内容
今回のリリースの主なトピックは次の2点です。
- 一時テーブルにカラムを追加できるようになった
- HTTP/2対応
一時テーブルにカラムを追加できるようになった
まだ、Groongaを全文検索サーバーとして使っているユーザーには目に見えるメリットはないのですが、今後の改良で重要になる機能が追加されました。それが一時テーブルにカラムを追加できる機能です。
今後、どのようなメリットがありそうかいくつか紹介します。
selectのoutput_columnsで出力値に名前をつけることができるようになります。SQLでいうAS alias_name
機能です。
今は、output_columns
にsnippet_html(title)
とsnippet_html(body)
を指定するとどちらも出力名がsnippet_html
になってしまいます。これを、snippet_html_title
、snippet_html_body
のように区別できるようになります。
selectのsortby・selectのdrilldownでカラム値そのものではなく、カラム値を加工した値でソート・ドリルダウンできるようになります。たとえば、Time
型のカラムの値を加工して曜日にし、曜日でドリルダウンできます。今は、別の曜日カラムを用意し、load
するときに曜日を計算し、それを使ってドリルダウンする必要があります。(動的に計算する方が便利ですが、事前に曜日カラムを用意した方が速いので、今のやり方を使うケースもあるでしょう。)
Mroongaのラッパーモードでトランザクション対応ストレージエンジン(たとえばInnoDB)をラップしているとき、ロールバックしてもインデックスが壊れないようにできます。トランザクション内での変更を一時テーブルとカラムに保存しておき、コミットされたときはそのデータを実際のテーブルに反映、ロールバックされたときは単純に破棄することができるからです。
HTTP/2対応
GroongaはHTTPを話せる全文検索サーバー機能を提供しています。この機能の実装は2つあり、1つはGroonga独自のHTTPサーバー実装で、もう1つはnginxモジュールでの実装です。このうち、nginxモジュールでの実装でHTTP/2を使えるようになりました。
先日リリースされたnginx 1.9.5から実験的な機能としてHTTP/2がサポートされています。Groongaはnginxをバンドルしてリリースしていますが、バンドルしているnginxのバージョンを1.9.5にし、HTTP/2を有効にしてビルドするようにしています。
groonga-httpd.conf
を次のように変更することでHTTP/2でGroongaを使うことができます。
http {
server {
# listen 10041;
listen 10041 http2;
# ...
}
}
HTTP/2を使うと、通信量が削減され、スループットがあがる可能性があります。
おしらせ
今週は次のイベントがあります。Groongaに興味のある方はぜひお越しください。
-
[Groonga新リリース自慢会 5.0.8 - Groonga Doorkeeper](https://groonga.doorkeeper.jp/events/31904) - Groongaで学ぶ全文検索 2015-10-02
さいごに
5.0.7からの詳細な変更点は 5.0.8リリース 2015-09-29 を確認してください。
それでは、Groongaでガンガン検索してください!