# groonga - オープンソースのカラムストア機能付き全文検索エンジン

- English page

### ナビゲーション

- 索引
- Groonga v5.0.1ドキュメント »

# お知らせ

## 5.0.1リリース - 2015/03/29

### 改良

- [logical_range_filter] filterとsortをサポートしました。

- マルチカラムインデックスを使った指定範囲の検索をサポートしました。

- Groongaをライブラリとして使う人向けにAPIの 概要 を追加しました。

- [非互換] 内部で使っている `_score` の型を 32bit整数値から浮動小数点に変更しました。この変更はGroongaのDB APIを使っているユーザーにとって非互換な変更です。クエリAPIを使っているユーザーには影響ありません。つまり、select を使っているだけなら影響ないということです。新旧のバージョンのGroongaで動作するようにするには次のコードを使います:

      grn_obj *score;
      double score_value;

      if (score->header.domain == GRN_DB_FLOAT) {
        score_value = GRN_FLOAT_VALUE(score);
      } else {
        score_value = (double)GRN_INT32_VALUE_FLOAT_VALUE(score);
      }

- [select] ドリルダウンの引数の誤りをより厳密にチェックするようにしました。

- `grn_ctx_get_all_tables()` を追加しました。 [Masatoshi Teruyaさんが提案]

- スコア関数のカスタマイズをサポートしました。詳細は Scorer を参照してください。

- [非互換] スコア関数の導入により、DB API層でAPIとABIの互換性がなくなりました。`grn_search_optarg` を使っていたら、次のようなコードで `grn_search_optarg` を `0` で初期化しているかチェックしてください。:

      grn_search_optarg options;
      memset(&options, 0, sizeof(grn_search_optarg));

  上記のようにしていれば、あなたの書いたコードはAPIの互換性があり、ABIは互換性がない状態です。単にそのままリビルドしてください。コードの修正は不要です。

  もしあなたの書いたコードが上記のようにしていないなら、上記のコードを追加してください。

- DB APIに `grn_obj` の型をチェックするための叙述関数を追加しました。

  - `grn_obj_is_table()`
  - `grn_obj_is_proc_proc()`
  - `grn_obj_is_function_proc()`
  - `grn_obj_is_selector_proc()`
  - `grn_obj_is_scorer_proc()`

- [実験的] ポスティングリストをスキップできるようにしました。頻出語とほとんど出現しない語が同時に検索されたときにスキップできます。これにより検索の速度を改善できます。この機能を有効にするには `GRN_II_CURSOR_SET_MIN_ENABLE` 環境変数を `1` にします。デフォルトでは無効です。

- [doc] in_values のドキュメントを追加しました。

- logical_count のドキュメントを追加しました。

- [mruby] `#inspect` メソッドを実装しました。デバッグに有用です。

- スコアラー scorer_tf_at_most のドキュメントを追加しました。出現頻度が高くても、指定したスコアの閾値を越えないようにします。

- [mruby] マッチする件数を推定してインデックスを使って検索するかシーケンシャルに検索するかを選択できるようにしました。

- インデックスを使ってサイズを推定するための関数を追加しました。

  - `grn_expr_estimate_size()`
  - `grn_ii_estimate_size_for_query()`
  - `grn_ii_estimate_size_for_lexicon_cursor()`

- NormalizerAuto が利用できるかのチェックを追加しました。[GitHub#283] [末永さんが報告]

- Visual Studio 2010のサポートをやめました。

- [実験的][mecab] チャンクに分割してトークナイズできるようにしました。この機能は MeCabの "too long sentense" エラーの回避策です。有効にするには `GRN_MECAB_CHUNKED_TOKENIZE_ENABLED` 環境変数を `yes` に設定します。この設定により、Groonga は長いテキスト (デフォルトでは 8192 バイトを越えるテキスト)を小さなチャンクと呼ばれるかたまりに分割してMeCabへと渡します。この処理により、上記のエラーが発生しないようになります。さらに、このチャンクの閾値は `GRN_MECAB_CHUNK_SIZE_THRESHOLD` 環境変数でカスタマイズできます。`,`, `.`, `!`, `?`, `U+3001 IDEOGRAPHIC COMMA`, `U+3002 IDEOGRAPHIC FULL STOP`, `U+FF01 FULLWIDTH EXCLAMATION MARK` と `U+FF1F FULLWIDTH QUESTION MARK` がチャンクの区切り文字として扱われます。

- groongaコマンド のサーバーモードで `--pid-file` をサポートしました。

- [groonga-httpd] Groongaを緩やかに停止することができるようにしました。コネクションを即座に強制終了しないようになります。

- [実験的] 正規表現をサポートしました。正規表現の使いかたについては 正規表現 を参照してください。

- [実験的] plugin_unregister コマンドを追加しました。

- [http][load] "," をPOSTデータの区切り文字として使うようにしました。これにより、内部のバッファサイズが小さくて済むので、POSTデータに一切改行がない場合にロード時間を短縮できます。

- [doc] トークナイザー のドキュメントを追加しました。

- POSIX.2 との互換性を改善しました。`.` bashの "source" コマンドのかわりに `.` を使うようにしました。[GitHub#317] [栗山さんがパッチ提供]

- [windows] デフォルトのIOバージョンを1に変更しました。これによりWindowsでディスク容量を削減できます。[groonga-dev,03118] [ongaeshiさんがテスト]

- [httpd] バンドルしているnginxのバージョンを1.7.11に更新しました。

- TSV出力時のMIMEタイプを `text/plain` から `text/tab-separated-values` に変更しました。

- [TokenFilterStopWord] 静的なインデックス構築方法 をサポートしました。[GitHub#296] [村上さんがパッチ提供]

### 修正

- 非推奨の `--address` 引数をGroongaのデフォルト設定ファイル(groonga.conf)で使わないようにしました。かわりに `--bind-address` を使います。 [Groonga-talk] [Dewanggaさんが報告]

- [truncate] キーが TABLE_NO_KEY なテーブルでtruncateができない問題を修正しました。

- [mecab] 不必要な "empty token" や "ignore empty token" といったログが出力されないようにしました。

- 誤ったインデックスのセクションが使われてしまう不具合を修正しました。これにより誤った検索結果を返していました。次の条件をすべて満すと発生します。

  - 複数のインデックスが張られている

  - 最初に定義したインデックスか最後に定義したインデックスがマルチカラムインデックスを使っている

  - 最初に定義したインデックスと最後に定義したインデックスがマルチカラムインデックスだったとき、そのソースカラムの指定順が異なっている

- シェルのコマンドラインからGroongaのコマンドを groongaコマンド に渡すと常に `0` を終了コードとして返す不具合を修正しました。 例えば、 `groonga DB_PATH 存在しないコマンド名` を実行しても終了コードとして `0` を常に返します。

- 2つ以上のプラグインを登録しているときにプラグインのパスが壊れてしまう不具合を修正しました。 [村上さんが報告]

- match_columns に `Lexicon.index.source_column_name` を指定しても動作しない不具合を修正しました。`source_column_name` として指定されたカラムが2つ以上のインデックスをもつ場合に発生します。 [村上さんが報告]

### 感謝

- Masatoshi Teruyaさん

- 末永さん

- Dewanggaさん

- 栗山さん

- ongaeshiさん

- 村上さん

## 5.0.0リリース - 2015/02/09

- バージョン5.0.0になりました!

### 改良

- [doc] スクリプト構文 の セキュリティー に関して追加しました。

- [実験的] シャーディングするためのプラグインを追加しました。有効にするには register sharding を前もって実行します。レコードをselectするには logical_count を使います。

- [cmake] FreeBSD 10.1でのコンパイルエラーを修正しました。[MDEV-7293] [Bernard Spilさんが報告]

- プラグインのディレクトリをカスタマイズできるようにしました。 その場合 GRN_PLUGINS_DIR 環境変数を設定します。

### 修正

- システムに互換性のないバージョンのonigmoもしくはonigurumaのヘッダーがインストールされているとビルドに失敗する問題を修正しました。 [GitHub#276] [武者さんがパッチ提供]

- MSVCのtime関連でビルドに失敗する問題を修正しました。 [GitHub#237]

### 感謝

- 武者さん

- Bernard Spilさん

## 古いリリース

- 4.1.1リリース - 2015-01-29
  - 改良
  - 修正
  - 感謝
- 4.1.0リリース - 2015-01-09
  - 修正
- 4.0.9リリース - 2014-12-29
  - 改良
  - 修正
  - 感謝
- 4.0.8リリース - 2014/11/29
  - 改良
  - 修正
  - 感謝
- 4.0.7リリース - 2014/10/29
  - 改良
  - 修正
  - 感謝
- 4.0.6リリース - 2014/09/29
  - 改良
  - 修正
  - 感謝
- 4.0.5リリース - 2014/08/29
  - 改良
  - 修正
  - 感謝
- 4.0.4リリース - 2014/07/29
  - 改良
  - 修正
  - 感謝
- 4.0.3リリース - 2014/06/29
  - 改良
  - 修正
  - 感謝
- 4.0.2リリース - 2014/05/29
  - 改良
  - 修正
  - 感謝
- 4.0.1リリース - 2014/03/29
  - 改良
  - 修正
  - 感謝
- 4.0.0リリース - 2014/02/09
  - 改良
  - 修正
  - 感謝
- 3.1.2リリース - 2014/01/29
  - 改良
  - 修正
  - 感謝
- 3.1.1リリース - 2013/12/29
  - 改良
  - 修正
  - 感謝
- 3.1.0リリース - 2013/11/29
  - 改良
  - 修正
  - 感謝
- 3.0.9リリース - 2013/10/29
  - 改良
  - 修正
  - 感謝
- 3.0.8リリース - 2013/09/29
  - 改良
  - 修正
  - 感謝
- 3.0.7リリース - 2013/08/29
  - 改良
  - 修正
  - 感謝
- 3.0.6リリース - 2013/07/29
  - 改良
  - 修正
  - 感謝
- 3.0.5リリース - 2013/06/29
  - 改良
  - 修正
  - 感謝
- 3.0.4リリース - 2013/05/29
  - 改良
  - 修正
  - 感謝
- 3.0.3リリース - 2013/04/29
  - 改良
- 3.0.2リリース - 2013/03/29
  - 改良
  - 修正
  - 感謝
- 3.0.1リリース - 2013/02/28
  - 改良
  - 修正
  - 感謝
- 3.0.0リリース - 2013/02/09
  - 修正
  - 感謝
- 2.1.2リリース - 2013/01/29
  - 改良
  - 修正
  - 感謝
- 2.1.1リリース - 2012/12/29
  - 修正
- 2.1.0リリース - 2012/12/29
  - 改良
  - 修正
  - 感謝
- 2.0.9リリース - 2012/11/29
  - 改良
  - 修正
  - 感謝
- 2.0.8リリース - 2012/10/29
  - 改良
  - 修正
  - 感謝
- 2.0.7リリース - 2012/09/29
  - 改良
  - 修正
  - 感謝
- 2.0.6リリース - 2012/08/29
  - 改良
  - 修正
  - 感謝
- 2.0.5リリース - 2012/07/29
  - 改良
  - 修正
  - 感謝
- 2.0.4リリース - 2012/06/29
  - 改良
  - 修正
  - 感謝
- 2.0.3リリース - 2012/05/29
  - 改良
  - 修正
  - 感謝
- 2.0.2リリース - 2012/04/29
  - 改良
  - 修正
  - 感謝
- 2.0.1リリース - 2012/03/29
  - 改良
  - 修正
  - 感謝
- 2.0.0リリース - 2012/02/29
  - 改良
  - 修正
  - 感謝
- 1.3.0リリース - 2012/01/29
  - 改良
  - 感謝
- 1.2.9リリース - 2011/12/29
  - 改良
  - 修正
  - 感謝
- 1.2.8リリース - 2011/11/29
  - 改良
  - 修正
  - 感謝
- 1.2.7リリース - 2011/10/29
  - 改良
  - 修正
  - 感謝
- 1.2.6リリース - 2011/09/29
  - 改良
  - 修正
  - 感謝
- 1.2.5リリース - 2011/08/29
  - 改良
  - 修正
- 1.2.4リリース - 2011/07/29
  - 改良
  - 修正
  - 感謝
- 1.2.3リリース - 2011/06/29
  - 改良
  - 修正
  - 感謝
- 1.2.2リリース - 2011/05/29
  - 改良
  - 修正
- 1.2.1リリース - 2011/04/29
  - 改良
  - 修正
  - 感謝
- 1.2.0リリース - 2011/03/29
  - 改良
  - 修正
  - 実験的
  - 感謝
- バージョン1.1.xのお知らせ
  - 1.1.0リリース - 2011/02/09
- バージョン1.0.xのお知らせ
  - 1.0.8リリース - 2011/02/02
  - 1.0.7リリース - 2011/01/29
  - 1.0.6リリース - 2010/12/31
  - 1.0.5リリース - 2010/12/29
  - 1.0.4リリース - 2010/11/29
  - 1.0.3リリース - 2010/10/29
  - 1.0.2リリース - 2010/09/09
  - 1.0.1リリース - 2010/09/06
  - 1.0.0リリース - 2010/08/29
- バージョン0.xのお知らせ
  - 0.7.7リリース - 2010/08/25
  - 0.7.6リリース - 2010/08/19
- News in Senna period
  - Senna -> groonga - 2009/01/14
  - 2006/04/05
  - 2006/03/03
  - 2006/01/16
  - 2006/01/12
  - 2005/12/22
  - 2005/10/27
  - 2005/09/17
  - 2005/09/08
  - 2005/08/16
  - 2005/07/05
  - 2005/06/23
  - 2005/04/12

### ナビゲーション

- 索引
- Groonga v5.0.1ドキュメント »