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

- English

# 1.2.9リリース - 2011-12-29

## 改良

- Fedora 16をサポート。

- Fedora 15サポートを削除。

- [groonga] ホスト名を解決できない環境でも動作するようにサーバーIDのアドレスをデフォルト値をlocalhostにした。 [@uzullaさんが報告]

- MAP_HUGETLB対応。

- [admin] スループットチャート対応。

- `grn_itoh()` 内でnul文字を使いするのをやめた。 [#1194] [設樂洋爾さんが報告]

- `grn_obj_get_values()` を追加。

- `grn_obj_delete_by_id()` を追加。

- クエリ展開で文字列のベクター型のカラムをサポート。 [#1216]

- 一度にたくさんのレコードを削除できるように delete に `--filter` オプションを追加。 [#1225]

- geo_in_circle と geo_distance で近似方法指定をサポート。 [#1226]

- `geo_distance2()` と `geo_distance3()` を非推奨にした。

- JSON出力内で、値のない位置情報データは `""` ではなく `null` と出力するようにした。

- MessagePack出力をだいたいサポート。 [#1215] [設樂洋爾さんが実装]

- XML出力内のドリルダウン結果タグの後に改行を追加。

- grn_datのtruncation対応。 [#892]

- grn_datが最長共通接頭辞検索（longest common prefix search）をサポート。

## 修正

- [windows] mapの種類を間違っていた問題を修正。

- コンパイラの-Wno-というフラグの検出に失敗していた問題を修正。 [Arnaud Fontaineさんがパッチを作成]

- `groonga --version` がMeCabについて間違って報告していた問題を修正。 [#1209] [設樂洋爾さんがパッチ作成]

- `grn_obj_remove()` 内でロックが足りない問題を修正。

- エラー時のContent-Typeを修正。 [#1220] [設樂洋爾さんがパッチ作成]

- SIS（半無限文字列）削除時にゴミが残る問題を修正。

## 感謝

- @uzullaさん

- Arnaud Fontaineさん

- 設樂洋爾さん

# 1.2.8リリース - 2011-11-29

オブジェクト（テーブルまたはカラム）のリネームがサポートされました！この機能を使うためにはデータベースを再構築する必要があります。以下のコマンドでデータベースを再構築することができます。:

    % groonga YOUR_DB dump > db.dump
    % groonga -n YOUR_NEW_DB < db.dump

注釈

groonga 1.2.8はgroonga 1.2.7以前のバージョンで作ったデータベースを開くことができます。しかし、groonga 1.2.7以前のバージョンではgroonga 1.2.8以降で作ったデータベースを開くことはできません。

## 改良

- [grntest] 1行あたりの最大バイト数の制限を撤去。

- [grntest] `--pid-path` オプションを追加。

- [deb] 実験的にzlibとlzoを有効化。

- [rpm] 実験的にzlibとlzoを有効化。

- truncation対応。 [#892]

- 参照ロックフリーのダブル配列実装であるgrn_datを有効化。

- [pkg-config] groonga.pcにgroonga_version変数を追加。

- `--disable-static` を再サポート。 [groonga-dev,00612] [Kenichi Aramakiさんが提案]

- [munin] デフォルトではMuninプラグインをインストールしないようにした。

- RedHatプラットフォーム関連のファイルはデフォルトではインストールしないようにした。

- オブジェクトのリネームに対応。DBの再構築が必要です。 [#1167]

- [munin] スループットを計測するMuninプラグインを追加。 [#1171]

- [geo] geo_in_rectangleの高速化。新しい実装では、多くの場合、以前の実装よりも2倍程度高速になります。 [#1173]

- [macports] groongaのMacPortsが公式リポジトリに移動しました。 [Hiroshi Umemotoさんが取り込み]

- [geo] 位置情報の値のリテラルを度数からミリ秒へ変換するときに切り捨てではなく四捨五入するようにした。

- デフラグ対象としてテーブルをサポート。テーブルを指定した場合はテーブルが持つカラムのうち可変長サイズ値用のカラムをデフラグ対象とする。 [#1175]

- 削除時に関連するパスも削除するようにした。 [#1180]

- [deb] i386対応。

- [rpm] i386対応。

- [windows] x86対応。

## 修正

- zlib/lzo圧縮カラムにアクセスするとクラッシュするバグを修正。圧縮カラムにアクセスするとメモリリークするので注意。これを修正するためにはAPIを改良する必要があるため、今後修正予定。 [GtiHub#5][GtiHub#6] [Takayuki Yamaguchiさんが報告]

- レコード削除時に必要のないカラムの値もクリアしてしまうバグを修正。

- ソート時に間違ったインデックスを使うバグを修正。 [#766] [Horikoshi Yukiさんが報告]

- [libedit] 必要な初期化処理が抜けていたバグを修正。 [GitHub#7] [SHIDARA Yojiさんがパッチを提供]

- [doc] ドキュメントの誤字を修正。 [GitHub#8] [zundaさんがパッチを提供]

## 感謝

- Takayuki Yamaguchiさん

- 設樂洋爾さん

- Horikoshi Yukiさん

- zundaさん

- Hiroshi Umemotoさん

# 1.2.7リリース - 2011-10-29

## 改良

- [libedit] ワイド文字からマルチバイト列への変換時のエラーチェックを追加。 [設樂洋爾さんが報告]

- grn_geo_estimate_in_rectangle()を追加。

- 長方形での位置情報検索にカーソルAPIを追加。

- 長方形での位置情報検索速度を向上。

- Ubuntu 11.10 Oneiric Ocelotのパッケージを追加。

- [実験的] Oracle Solaris 10 8/11をサポート。（まだシステムにインストール済みのgccでビルドできるだけ。）

## 修正

- ドキュメントの誤字を修正。 [@soundkitchenさんが報告]

## 感謝

- 設樂洋爾さん

- @soundkitchenさん

# 1.2.6リリース - 2011-09-29

## 改良

- 型変換時のエラーメッセージを改善。

- 型変換時の座標の値チェックを追加。

- クエリ拡張 をサポート。

- クエリ展開用に select に --query_expansion オプションを追加。

- 座標の値の単位を度とミリ秒間で変換するマクロを追加。

- geo_distance ()内での型変換をサポート。

- コマンドラインのパース時に全角スペースでトークンを区切らないようにした。 #986

- TokyoGeoPointとWGS84GeoPoint間での変換をサポート。

- grn_geo_select_in_circle()とgrn_geo_select_in_rectangle()をAPIとして公開した。

- CentOS 6をサポート。

- 最新のDebian GNU/Linux sidをサポート。SATOH Fumiyasuさんによるパッチ。 GitHub#3

## 修正

- 座標値がロード時に壊れてしまう問題を修正。

## 感謝

- SATOH Fumiyasuさん

# 1.2.5リリース - 2011-08-29

## 改良

- 実験的にWindowsインストーラの提供を開始。

- 名前に使える文字に"#"と"-"を追加。#1043

- 名前に使える文字のうち、"_"以外はすべて最初の文字にも使えるようになった。 #1043

- load の --each オプションが [...] 形式のデータでも動くようになった。 #1044

- サジェスト のドキュメントを追加。

- すべての suggest のタイプで閾値を利用できるようした。閾値を利用する場合は --frequency_threshold と --conditional_probability_threshold オプションを使う。 #1042

- [groonga-suggest-httpd] SIGUSR1シグナルでのログの再オープンに対応。 #1048

- 参照ベクタカラムの値として文字列を指定すると自動的にトークナイズして格納するようにした。 #1051

- [groonga-suggest-httpd] 1ファイル中の最大ログ行数を指定する --n-lines-per-log-file オプションを追加。

- [groonga-suggest-httpd] --conditional_probability_threshold に対応する p パラメータを追加。

- grn_ctx_init()とgrn_ctx_open()用にGRN_CTX_PER_DBフラグを追加。 #1053

- grn_ctx_close()を公開。 #1035

## 修正

- select でマッチ式の右辺に不正な値を指定するとクラッシュする問題を修正。 #1047

- ハッシュテーブルのカーソルが間違ったレコードを返す問題を修正。

# 1.2.4リリース - 2011-07-29

## 改良

- `*BSD` をサポートを再サポート。（おばたさんが報告）

- sed関連のポータビリティを改善。（おばたさんが提案）

- Visual C++ 2008を再サポート。

- check がハッシュテーブルをサポート。

- select の--sortby内で_scoreを使えないときに_scoreを指定しても無視するようにした。 #1030

- Log に関するドキュメントを追加。

- ~/.editrcをサポート。

- ~/.groonga-historyをサポート。

## 修正

- libeditサポートが壊れていた問題を修正。（うえのさんが報告）

- `*.spec` のソースURLを修正。（うえのさんが報告）

- パトリシアトライのカーソルが間違ったレコードを返す問題を修正。

- データベースに対するgrn_obj_clear_lock()がデータベース自身のロックをクリアし忘れていたのでクリアするようにした。

- レコード削除時に他のレコードのデータを削除してしまう可能性があるという問題を修正。

## 感謝

- おばたさん

- うえのさん

# 1.2.3リリース - 2011-06-29

## 改良

- 不正なテーブル名チェックを追加。#912

- クエリログを解析するgroonga-query-log-analyzerを追加。

- groongaコマンドのエラー時に失敗したコマンドを表示するようになった。

- groongaコマンドのエラー時にファイル名と行番号を表示するようになった。

- column_create のエラーメッセージを改善。#952

- GRN_OBJ_TABLE_DAT_KEY（ダブル配列トライ）テーブルを追加。（実験的）

## 修正

- getコマンドでクラッシュする問題を修正。（おばたさんが報告）

- クエリログで経過時間がオーバーフローする問題を修正。#944

## 感謝

- おばたさん

# 1.2.2リリース - 2011-05-29

## 改良

- Ubuntu 11.04 Natty Narwhalのパッケージを追加。

- Ubuntu 10.10 Maverick Meerkatのパッケージを削除。

- RPM: サーバー関連のパッケージをgroonga-serverパッケージに分割。

- suggest: エラーメッセージに対象オブジェクト名を加えるようにした。

- ドキュメント: 英語のサポートを開始。（ただし、まだ不完全。）

- groonga-suggest-httpd: --disable-max-fd-checkオプションを追加。

- groonga: `--address` オプションを `--bind-address` に改名。

- groonga-suggest-httpd: --address オプションを --bind-address に改名。

- 管理用HTMLのインストールディレクトリを$PREFIX/share/groonga/admin_html/から$PREFIX/share/groonga/html/admin/へ変更。

- groonga-suggest-httpd: JSONレスポンス時には"text/javascript"ではなく"application/json"を使うようにした。

- Windows: 実行ファイルからの相対パスではなく、DLLからの相対パスを使うようにした。

- MeCab: MeCab初期化時のMeCabのエラーメッセージもgroongaのエラーメッセージに加えるようにした。

- suggest: suggestコマンドにprefix_searchパラメータを追加。

- plugin: grn_plugin_get_system_plugins_dir()とgrn_plugin_get_suffix() APIを追加。

- grn_obj_is_builtin() APIを追加。

- load: テーブル名をチェックするようにした。 #934

- 不正な名前が指定された時のエラーメッセージにどこで指定されたかの情報を含めるようにした。 #935

## 修正

- マルチプロセスでデータを更新した場合にShortText型などの可変長データが壊れる問題を修正。 #890

# 1.2.1リリース - 2011-04-29

## 改良

- suggestコマンドにthresholdパラメーターを追加。#895
- suggestのHTTPサーバにlimitパラメーターを追加。#899
- grntest: SIGINTでの中断に対応。

## 修正

- 同時に複数のデータベースを開いているとき、1つでもデータベー スを閉じると関連するプラグインも閉じられてしまう問題を修正。 #894
- configureの--helpで出力される--with-deafult-encodingの値が 間違っていた問題を修正。（ICHII Takashiさんが報告）
- チュートリアル中のtypoを修正。（moozさんが修正）

## 感謝

- ICHII Takashiさん
- moozさん

# 1.2.0リリース - 2011-03-29

## 改良

- MacPortsでのインストールドキュメントを追加。
- Homebrewでのインストールドキュメントを追加。
- WindowsではMinGWでもpthreadを使わないようにした。
- オーバーフローチェックを強化。
- 位置情報の入力値チェックを強化。
- インデックスを用いたジオサーチの例をチュートリアルに追加。 #438
- Debian GNU/Linux wheezyのパッケージを追加。
- Debian GNU/Linux lennyのパッケージを削除。
- Debianパッケージをcdbsベースからdebhelperベースへ移行。 パッケージ名の変更あり。 #887
- MeCabトークナイザーの読み込みエラーを無視するようにした。た だし、ログには残る。 #893

## 修正

- autoconf 2.59環境において、ファイルシステムのルート直下に groongaディレクトリを作成しようとする問題を修正。 #833
- JSONPが動作しなくなっていた問題を修正。
- MeCabトークナイザーの読み込みに失敗したときにクラッシュする問題を修正。 （@tomotaka_itoさんが報告）
- [非互換] 位置情報の小数表記からミリ秒への変換誤差が大きい問題を修正。
- geo_in_rectangle の `top_left` と `bottom_right` に同じ位置を指定するとクラッシュする問題を修正。
- メモリリークを修正。
- 小数形式のTimeリテラルをロードするとミリ秒情報が落ちる問題を修正。 #880
- column_list のドキュメントを修正。 #758
- table_list のドキュメントを修正。
- load で_valueを指定するとメモリリークする問題を修正。 #878
- load でクラッシュする問題を修正。 #661

## 実験的

- grn_table_truncate()を追加。（実験的。問題あり）
- truncateコマンドを追加。（実験的。問題あり） #888

## 感謝

- @tomotaka_itoさん