BloGroonga

2012-06-29

groonga 2.0.4リリース

今日は肉の日ですね。

groonga 2.0.4 がリリースされました!

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

今回のリリースの主なトピックは3つあります。

  • nginxベースのHTTPサーバーを実験的に追加
  • groongaドキュメントの更新
  • 位置情報から距離を計算する組み込み関数の改善

nginxベースのHTTPサーバーを実験的に追加

groongaはデフォルトで HTTPサーバー 機能を提供しています。

ただしHTTPサーバーとしては最小限機能しかありませんでしたので、例えば接続元の制限を行うためには別途iptablesなどと組み合わせて使う必要がありました。

今回のリリースではnginxをHTTPリクエストを処理するために組み込んだ groonga-httpd コマンドを実験的ではありますが、新たに提供します。 (groongaコマンドの --protocol http オプションも従来通り使い続けることができます。)

nginxを組込むことにより、nginxの持つHTTPサーバーとしての高度な機能をほぼそのまま使うことができるようになりました。

以下はnginxベースの groonga-httpd コマンドを利用するメリットの一例です。

  • gzipフィルターに対応しているのでサーバーレスポンス帯域を節約できるようになります
  • HTTP1.1のキープアライブやパイプライン処理によりHTTPの処理効率が向上します
  • アクセスログを柔軟にカスタマイズできるようになります
  • アクセスコントロール手段としてiptablesの他に各種認証方法を組み合わせることができるようになります
  • 同時接続数や同時リクエスト数の設定による負荷の調整を行えるようになります
  • 通信経路の安全性を高めるためにHTTPSを使用することができるようになります
  • 名前ベースでHTTPサーバーを稼動させることができるようになります
  • 高負荷状態での稼動実績のあるnginxをモジュールとして採用しているため、HTTPサーバー処理の安定稼動が期待できるようになります

nginxベースのHTTPサーバーについては groonga-httpd コマンドを参照してください。

注意: 今回のリリースで提供しているバイナリのうち、groonga-httpd はWindowsをサポートしていません。 groonga-httpd のWindowsサポートは次回リリース以降を予定しています。

groongaドキュメントの更新

今回のリリースではドキュメントの更新を行いました。

とりわけ、特定の条件にマッチするレコードを検索したり、データベースを操作するときに使用する grn_expr (ぐるんしき) の説明を充実させました。

全文検索やフレーズ検索、前方一致検索や後方一致検索をするときの クエリ構文 を解説しています。

スキーマ定義とサンプルデータによる実行例も併記してありますので、すぐに機能を確認することができます。

位置情報から距離を計算する組み込み関数の改善

groongaでは位置情報から距離を計算する組み込み関数として geo_distance を提供しています。

geo_distance には子午線や日付変更線、赤道などのいわゆる境界をまたいだ距離の計算が正しく行えない制限があります。

geo_distance では距離を計算する際に地形をどのように近似して計算するかを方形近似、球面近似、 楕円近似の3つのうちから選択できます。

今回のリリースでは方形近似を選択した場合について、部分的にこの問題を改善しています。

具体的には二点が北半球の範囲にある場合において東経/西経をまたいでも正しく距離を計算できるようになりました。

geo_distance の説明も具体例を充実させました。

さいごに

2.0.3からの詳細な変更点は 2.0.4リリース 2012/06/29 を確認してください。

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