[groonga-dev,03316] [ANN] Groonga 5.0.5

Back to archive index

Masafumi Yokoyama yokoy****@clear*****
2015年 6月 29日 (月) 16:41:22 JST


今日は肉の日(6/29)ですね。Groonga 5.0.5をリリースしました!

  http://groonga.org/ja/docs/news.html#release-5-0-5

それぞれの環境毎のインストール方法はこちらを見てください。
  http://groonga.org/ja/docs/install.html

今回のリリースでは大きな変更はありませんが、細かい部分が改善されています。
例えば、メモリーまわりでエラーになった場合のエラーメッセージの改善です。

今まではログに出力されていなかった情報が出力されるようになっているため、
原因を特定しやすくなっています。もし、Groongaが想定外の動きをした場合、
ログと一緒に報告してもらえると直しやすくなるので助かります。

### ログの出力方法について

今回のリリースで追加された機能ではありませんが、Groongaのログの出力方法に
ついて簡単に紹介します。

ログの出力方法は、各コマンドの`--help`やリファレンスマニュアルを参照してく
ださい。翻訳作業が追いついていない箇所がありますが、具体的に「ここが知りた
い」といった箇所があれば優先して作業するので、メーリングリストなど教えてく
ださい。

* 7.1. 実行ファイル ― Groonga v5.0.5ドキュメント
  http://groonga.org/ja/docs/reference/executables.html
* 7.18. Log ― Groonga v5.0.5ドキュメント
  http://groonga.org/ja/docs/reference/log.html

例えば、groongaコマンドでログを出力するためには以下のようにデータベースの
パスの前にオプションを指定します。

  % groonga --log-path PATH --query-log-path PATH ... DB_PATH

具体的には以下のように指定します。

  % groonga --log-path groonga.log --query-log-path query.log -n
/tmp/test.db

`--log-path`はGroongaプロセスの情報を出力する場所を指定します。エラー情報
などが出力されるため、多くの場合では指定したほうが便利です。
`--query-log-path`は、実行されたクエリーの情報を出力するために指定します。
サイズが増えやすいので、指定する場合はログローテーションなどを考慮したほう
がよいです。

ログの活用方法については、少し古いですが以下の記事も参考になると思います。

* 全文検索エンジンGroongaで遅いクエリをログからすばやく特定するには - Qiita
  http://qiita.com/groonga/items/4ffecaf5488f89105604
* 運用に便利なgroonga-query-logの使い方 - Qiita
  http://qiita.com/Ch_1012/items/363f96ded47375dc0d35

### イベントのお知らせ

7月2日(木)に、「Groongaソースコード読書会2」が開催されます。

* Groongaソースコード読書会2 - Groonga | Doorkeeper
  https://groonga.doorkeeper.jp/events/26764
  * 日時: 2015-07-02(木)19:30-21:30
  * 場所: 株式会社 ビジネスバンクグループ
          http://bbank.jp/overview

全文検索エンジンの中身に興味がある方を対象に、Groongaの実装を例に、実際に
ソースコードを読んだり、デバッガで動作を追いかけながら、内部動作の理解を
深めることを目的とした勉強会です。

2回目ですが、1回目に参加していない人でも大丈夫なので、興味がある方はぜひ
ご参加ください。

## 変更点

その他の変更点は以下の通りです。

### 改良

  * データベースを開くときにファイルが存在しなかった場合などに、正しいエラー
    情報を表示するようにしました。

  * ライブラリーとして使うときに、デフォルトのロガーのパスを設定しないよ
    うにしました。

    * これは後方互換性のない変更ですが、ほとんどのユーザーには影響があり
      ません。

    * サーバーとして使うとき(groongaコマンドやMroonga、PGroongaなど)は、
      開発者がそれらのソフトウェアでログを設定するため、ユーザーはデフォル
      トでログを取得できます。

    * ライブラリーとして使うとき(Rroongaやgroonga-gobjectなど)は、以前
      のバージョンでもデフォルトでログを取得できませんでした。デフォルトの
      ログのパスは/var/log/groonga/groonga.logなどのシステムのパスでしたが、
      通常ユーザーはそのパスに対する書き込み権限がないためです。

  * [windows] メモリ不足などで CreateFileMapping() が失敗した場合、エラー
    情報を表示するようにしました。

  * [tokenize] 例に "force_prefix" を表示するようにしました。これは5.0.4で
    追加された値です。

  * [windows] ディスクに問題があり(ディスクフルなど) FlushViewOfFile()
    が失敗した場合、エラー情報を表示するようにしました。

  * [API] grn_obj_flush() を追加しました。

  * [API] grn_obj_flush_recursive() を追加しました。

  * [io_flush] 追加しました。メモリーにマップされたデータをディスクに書き
    込む(フラッシュする)コマンドです。通常、フラッシュはOSが自動で行いま
    すが、このコマンドを使えば明示的にフラッシュすることができます。

  * [mruby] grn_obj_remove() をObject#removeにバインドしました。

  * [mruby] grn_table_delete() と grn_table_delete_by_id() をTable#delete
    にバインドしました。

  * [logical_table_remove] 追加しました。

  * [logical_select] 追加しました。現在は --filter のみサポートされてい
ます。

  * [cmake] MeCabトークナイザーの組み込みをサポートしました。

  * [logical_count] 月次と日次が混在するケースをサポートしました。同じ月
内では、日次に切り替わる前のレコードが月次として扱われます。例:

      XXX_201506   <- includes only 2015-06-01 and 2015-06-02 records
      XXX_20150603 <- includes only 2015-06-03 records
      XXX_20150604 <- includes only 2015-06-04 records

### 修正

  * netinet/in.hインクルード時の不正なマクロを修正しました。
    [GitHub#348] [おばたさんが報告]

  * [rpm][groonga-httpd] 再起動が失敗する不具合を修正しました。
    [GitHub#351] [jacob16bitさんがパッチ提供]

### 感謝

  * おばたさん
  * jacob16bitさん


-- 
横山 昌史 <Masafumi Yokoyama>
E-mail: yokoy****@clear*****
株式会社クリアコード
〒170-0005 東京都豊島区南大塚3-29-9
Tel: 03-5927-9440
Web: http://www.clear-code.com/

Groongaベースの全文検索システムを総合サポート:
http://groonga.org/ja/support/




groonga-dev メーリングリストの案内
Back to archive index