BloGroonga

2015-11-29

Groonga 5.1.0リリース

今日は年に1度のいい肉の日ですね!

Groonga 5.1.0をリリースしました!

それぞれの環境毎のインストール方法: インストール

変更内容

今回のリリースでの目玉変更点は次の通りです。

それぞれ説明します。

reindexコマンド

Groongaがメモリー不足やディスクフルなどの理由でクラッシュすると、データベースが壊れることがあります。もし、インデックスだけが壊れてデータが壊れていない場合はインデックスを作りなおすことで復旧することができます。

これまでは、インデックスを作りなおすには、1度インデックスを削除してから同じパラメーターで再度インデックスを作成する必要がありました。新しく追加したreindexコマンドを使うと、そのような手間はなくなります。作り直したいインデックスを指定すれば後はいい感じに作りなおしてくれます。

なお、データベースを復旧したい場合はreindexコマンドを使うよりも、grndb実行ファイルを使う方が便利です。壊れているかどうかのチェック、reindexコマンド相当のインデックス作成機能などを提供しています。

reindexコマンドは通常は使う必要はないコマンドですが、なにかあったときのために、こんなコマンドがあるということだけは覚えておいてください。

groonga-httpdの性能向上

groonga-httpdはnginxベースのGroonga HTTPサーバーです。groonga実行ファイルが提供するHTTPサーバーよりも多くのHTTP機能を提供していることが特徴です。たとえば、ユーザー認証やTLS、HTTP/2対応などを実現できます。違いの詳細はHTTPサーバーのドキュメントを参照してください。

ただし、多くの機能がある分、groonga実行ファイルが提供するHTTPサーバー機能の方がやや速いです。

今回のリリースではgroonga-httpd内部の処理を最適化し、性能向上を実現しました。groonga実行ファイルが提供するHTTPサーバー機能よりもやや遅いですが、差は縮まっています。

groonga-httpdを使っていてもう少し性能がでるとうれしいと思っていた人はこのリリースを試してみてください。

prefix_rk_search()関数を追加

Groongaは日本語向けの便利機能を提供しています。前方一致RK検索機能もその1つです。

前方一致RK検索はざっくり言うとローマ字でカタカナを検索できる機能です。(詳細は前方一致RK検索を確認してください。)この機能は、日本語テキストの入力補完に便利です。実際、この機能はサジェスト補完機能で使っています。

今回のリリースで新しく追加したprefix_rk_search()関数はselectコマンドの中で使えることが特徴です。selectコマンドは検索条件の指定やソートだけでなくドリルダウンなど、サジェスト機能が提供するコマンドより豊富な機能を持っています。つまり、selectコマンドで実現できると他の機能と組み合わせてより柔軟の検索を実現できます。

JSONのプリティープリント対応

GroongaはデフォルトでJSONで結果を返します。返すJSONはプログラムで扱いやすいように、次のように1行で表現しています。

> status
[[0,1448344438.43783,5.29289245605469e-05],{"alloc_count":233,"starttime":1448344437,...}]

たしかに、この表現はプログラムから扱いやすいのですが、人が確認することには向いていません。そこで、オプションを指定すればJSONを見やすい形に整形する機能(プリティープリント機能)を追加しました。この機能を使うと上述の例は次のようになります。

> status --output_pretty yes
[
  [
    0,
    1448344438.43783,
    5.29289245605469e-05
  ],
  {
    "alloc_count": 233,
    "starttime": 1448344437,
    "start_time": 1448344437,
    "uptime": 1,
    "version": "5.0.9-135-g0763d91",
    "n_queries": 0,
    "cache_hit_rate": 0.0,
    "command_version": 1,
    "default_command_version": 1,
    "max_command_version": 2
  }
]

目で結果を確認する場合は活用してください。

おしらせ

このリリースのリリース日は年に一度のいい肉の日(11月29日)でした。今年もイベントを開催しました。Groongaに関する有益な情報がたくさんありました。イベントで使われた資料やイベントの様子が公開されているので参加できなかった方はイベントレポートを確認してみてください。

また、12月18日に次のイベントがあります。「Groongaで学ぶ全文検索」は予習・復習なしで全文検索を学ぶ、参加者に合わせて内容を決める、という限られた時間内でできるだけ実りある時間にしようというスタイルの勉強会です。全文検索を学びたい!という方はご活用ください。

さいごに

5.0.9からの詳細な変更点は5.1.0リリース 2015-11-29を確認してください。

それでは、Groongaでガンガン検索してください!