HAYASHI Kentaro
hayas****@clear*****
2012年 6月 29日 (金) 14:57:09 JST
今日は肉の日ですね。 groonga 2.0.4がリリースされました! groonga2.0.4はgroonga 2.0.xのメンテナンスリリースです。 http://groonga.org/ja/docs/news.html#release-2-0-4 今回のリリースの主なトピックは3つあります。 * nginxベースのHTTPサーバーを実験的に追加 * groongaドキュメントの更新 * 位置情報から距離を計算する組み込み関数の改善 * Travis CI の統合に関するドキュメントを追加 それぞれの環境毎のインストール方法はこちらを見てください。 http://groonga.org/ja/docs/install.html ○ nginxベースのHTTPサーバーを実験的に追加 groongaはデフォルトでHTTPサーバー機能を提供しています。 http://groonga.org/ja/docs/executables/groonga-http.html ただし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ベースのgroonga-httpdコマンドについては以下を参照してください。 http://groonga.org/ja/docs/executables/groonga-httpd.html 注意: 今回のリリースで提供しているバイナリのうち、 groonga-httpdはWindowsをサポートしていません。 groonga-httpdのWindowsサポートは次回リリース以降を予定しています。 ○ groongaドキュメントの更新 今回のリリースではドキュメントの更新を行いました。 とりわけ、特定の条件にマッチするレコードを検索したり、 データベースを操作するときに使用するgrn_expr(ぐるんしき) の説明を充実させました。 http://groonga.org/ja/docs/reference/grn_expr.html 全文検索やフレーズ検索、前方一致検索や後方一致検索をするときの クエリ構文を解説しています。 スキーマ定義とサンプルデータによる実行例も併記してありますので、 すぐに機能を確認することができます。 http://groonga.org/ja/docs/reference/grn_expr/query_syntax.html ○ 位置情報から距離を計算する組み込み関数の改善 groongaでは位置情報から距離を計算する組み込み関数としてgeo_distanceを 提供しています。 geo_distanceには子午線や日付変更線、赤道などのいわゆる境界をまたいだ 距離の計算が正しく行えない制限があります。 geo_distanceでは距離を計算する際に地形をどのように近似して計算するかを 方形近似、球面近似、 楕円近似の3つのうちから選択できます。 今回のリリースでは方形近似を選択した場合について、 部分的にこの問題を改善しています。 具体的には二点が北半球の範囲にある場合において東経/西経をまたいでも 正しく距離を計算できるようになりました。 geo_distanceの説明も具体例を充実させました。 geo_distanceの詳細については以下を参照してください。 http://groonga.org/ja/docs/functions/geo_distance.html ○ Travis CI の統合に関するドキュメントを追加 groongaはテストをとても重視しています。 groongaを利用したソフトウェアでTravis CIを利用して継続的インテグレーション (CI)を やりたい人のためにドキュメントを追加しました。 詳細は以下を参照してください。 http://groonga.org/ja/docs/development/travis-ci.html ○ 変更点 さて、2.0.3からの変更点は以下の通りです。 http://groonga.org/ja/docs/news.html#release-2-0-4 2.0.4リリース - 2012/06/29 -------------------------- 改良 * KyTea 0.4.2のみをサポート。 * KyTea 0.4.1以前のサポートを削除。 * [実験的] nginxベースのHTTPインターフェースをサポート。 * "rect" もしくは "rectangle" 引数を指定した北半球における距離の計算を サポート。 * [doc] Travis CI の統合に関するドキュメントを追加。 * [doc] 全文検索とフレーズ検索についての説明を追加。詳細については 全文検索条件 および フレーズ検索条件 を参照してください。 * [doc] 比較条件についての説明を追加。詳細は 条件式 を参照してください。 * [doc] クエリ構文 のサンプルを追加。 * [doc] 結合式 の説明を追加。 * [doc] 前方一致検索条件 と 後方一致検索条件 の説明を追加。 * インデックスを使った後方一致検索をサポート。 * [doc] grn_expr に関するドキュメントを追加。 * [munin] RubyGemsでインストールしたJSONライブラリをサポート。 [GitHub#17] [岩井さんがパッチ提供] * [doc] チュートリアル記載のTime型指定値についての説明を更新。 [#1405] [岩井さんが報告] * [rpm] groongaパッケージから必要のないgroonga-tokenizer-mecabパッケージへの依存関係を削除。 [GitHub#18] [岩井さんがパッチ提供] 修正 * Mac OS Xでバッチモードを使用した際にコマンドプロンプトの表示が意図 しない状態になる問題を修正。[@soundkitchenさんが報告] * 誤ったコマンドをクライアントモードで実行しても終了しないように修正。 [#1305] * --query 構文で '=R' が 'OR' として扱われてしまう問題を修正。 [#1393] 感謝 * @soundkitchenさん * 岩井さん -- HAYASHI Kentaro <hayas****@clear*****>