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

お知らせ

2.0.5リリース - 2012/07/29

改良

  • "rect" もしくは "rectangle" 引数を指定した南半球における距離の計算をサポート。 [#1418] [#1419] [#1420] [#1421]
  • [doc] スクリプト構文にてリテラルの説明を追加。
  • groonga-suggestとgroonga-httpdのソース外ビルドに対応。
  • クエリパラメータの区切り文字として ";"をサポート。 [#1406] [岩井さんが提案]
  • [doc] スクリプト構文の説明を追加。
  • スクリプト構文で近傍検索を行う 'column *N "word1 word2 ..."' 構文をサポート。 [#1423]
  • [doc] 後方一致検索の制限を追記。
  • 近傍検索で _key 疑似カラムをサポート。 [GitHub#19]
  • [doc] 基本的なECMAScript関連の構文を追加。
  • [doc] geo_distance の説明を更新。
  • [rpm][fedora] Fedora 17をサポート。
  • [rpm][fedora] Fedora 16サポートを削除。
  • 論理演算子 "!" をサポート。 [GitHub#22]
  • [httpd] groongaデータベースごとのロケーション指定をサポート。

修正

  • groonga-httpdが Mac OS Xでビルドできない問題を修正。[島田 浩二さんが報告]
  • groonga-httpdがインストール済みのヘッダファイルを使用しないように修正。
  • Mac OS X Lionでgroongaがビルドできない問題を修正。
  • [doc] table_remove コマンドの説明を修正。
  • インデックスが張られていないと未対応のオぺレータで無限ループする問題を修正。 [GitHub#20]
  • メモリリークを引き起すエラーコードの誤りを修正。
  • loadコマンドを処理中にはエラーメッセージを返すように修正。
  • カラムの値を壊すことにつながるエラーコードの誤りを修正。
  • 継続困難なエラーが発生した場合にloadコマンドを中断するように修正。
  • 正しくない --columnsの値が渡されたときloadコマンドを中断するように修正。
  • [admin] エラーメッセージをエスケープするように修正。
  • データベースの非互換を引き起こす読めないオブジェクトを無視するように修正。 [#1429] [岩井さんが報告]
  • ロックされたデータベースのオープンをサポート。 [GitHub#21]

感謝

  • 島田 浩二さん
  • 岩井さん

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さん
  • 岩井さん

2.0.3リリース - 2012/05/29

改良

  • [doc] リリース手順を追加。
  • 1プロセスで開けるファイルディスクリプターの最大数が4096という制限を削除。
  • [実験的] tableプラグインを追加。
  • [doc] select コマンドの説明を追加。
  • [doc] 実行例をコピー&ペーストしやすくした。
  • [windows] Visual Studio 2010 ExpressとCMakeを使ったビルドをサポート。詳細は Windows を参照してください。
  • [doc][solaris] Solarisでビルドするためのドキュメントを追加。詳細は Oracle Solaris を参照してください。
  • [doc][yum] epel-releaseパッケージのバージョンを更新。[岩井さんが報告]
  • [doc][centos6] RepoforgeにあるCentOS 6用のMuninを使うという設定を削除。[岩井さんが報告]
  • ソースをzip形式でも配布するようにした。
  • [munin] groonga_dist Muninプラグインが複数のファイルを使っているオブジェクトをサポート。
  • Travis CIを使うようにした。
  • [yum] groongaのyumリポジトリを提供するRPMパッケージ名をgroonga-repositoryからgroonga-releaseへと変更。これは、centos-releaseやfedora-releaseといったRPMパッケージの命名規則とあわせるためである。

修正

  • [doc] yumリポジトリを更新するためのコマンドを修正。 [岩井さんが提案]
  • [deb] logrotateでlog_reopenコマンドが誤ったプロトコルを使用する不具合を修正。
  • XMLレスポンスのERRORタグが壊れている問題を修正。[#1363] [GitHub#13] [岩井さんがパッチ提供]
  • grn_ctx_fin()がgrn_ctxの一部をクリアしきれていない問題を修正。
  • &! 演算子をグループ化した式と一緒に使うと間違った結果を返す不具合を修正。[#1372]
  • インデックスのソースに指定したカラム経由でレコードのキーを登録するとキーが正規化されない問題を修正。

感謝

  • 岩井さん

2.0.2リリース - 2012/04/29

ご用心

今回のリリースよりパッケージへ署名する鍵を変更しました。groongaパッケージを更新する前にパッケージ署名用の新しい鍵をインポートして下さい。

Debian/Ubuntu:

% sudo apt-get update
% sudo apt-get -y --allow-unauthenticated install groonga-keyring

CentOS/Fedora:

% sudo yum makecache
% sudo yum install --nogpgcheck -y groonga-repository

改良

  • [pkg-config] 必要のないMessagePackへの依存関係を削除。
  • [rpm][fedora] libeditをサポート。[#1325] [IWAI, Masaharuさんが提案]
  • [rpm] zlibおよびLZOをサポート。[#1324] [IWAI, Masaharuさんがパッチ提供]
  • [groonga] デーモン化のタイミングを改善。groongaサーバーはソケットがlisten状態になった後にデーモン化するようになった。これによりgroongaサーバーがデーモン化した時点で接続を受け付けられる状態になっている。 [#1326]
  • [admin] groongaの管理ページでサジェスト機能をサポート。
  • [dump] Mecabのトークナイザのロードエラーを無視するようにした。
  • CMakeをサポート。
  • [load] カラムの値が設定できなかった時のエラーレポートをサポート。
  • 類似検索をサポート。類似検索の構文は select --filter "column *S 'TEXT'" 。 [#1342]
  • [apt][yum] パッケージ署名用の鍵を変更。
  • Ubuntu Precise Pangolinをサポート。
  • [apt] groongaのパッケージ署名用の鍵を提供するgroonga-keyring debパッケージを追加。

修正

  • [deb][rpm] 非推奨の --address オプションではなく --bind--address オプションを使用するようにした。[#1320] [IWAI, Masaharuさんがパッチ提供]
  • [deb] groonga-serverパッケージの設定ファイルを /etc/default/groonga から /etc/default/groonga-server へ改名。
  • [rpm][fedora] groonga-serverの%postで更新処理を行うかどうかの条件を修正。 [GitHub#11] [Daiki Uenoさんがパッチ提供]
  • [rpm] 必要のないログを削除。 [#1328] [IWAI, Masaharuさんがパッチ提供]
  • [deb][rpm] curlへの依存関係を追加。 [GitHub#12] [IWAI, Masaharuさんがパッチ提供]
  • [rpm] groongaパッケージから必要のないrubyパッケージへの依存関係を削除。 [#1330] [IWAI, Masaharuさんが提案]
  • [deb] groonga-serverの設定ファイルに未設定だったデフォルト値を追加。
  • 非常に大きな転置インデックスを更新しながら検索するとクラッシュする不具合を修正。 [#1329]
  • 文字列をバイト文字列でなく文字として比較している不具合を修正。 [#1340] [Kawaji Shinyaさんが報告]

感謝

  • 岩井さん
  • うえのさん
  • Shinya Kawajiさん

2.0.1リリース - 2012/03/29

改良

  • 別ディレクトリでのビルドをサポートした。 [#1298] [かずひこさんが報告]
  • [solaris] Solaris 11上でのビルドできるようにした。 [かずひこさんが報告]
  • [test] 機能テストを追加した。
  • [test] Rubyでテストを実行するためにはconfigureに --with-ruby19 オプションを指定しなければいけないようにした。
  • [dump] デフォルトトークナイザーを持っているテーブルのレコードもダンプするようにした。
  • [suggest] similar_search オプションを追加。
  • [groonga] 非推奨の -a--address--admin-html-path オプションを削除した。
  • 戻り値チェックを追加した。 [GitHub#9] [Markus Elfringさんが報告]
  • [dat] 単語抽出処理をサポートした。
  • ロゴ を追加した。
  • HTMLのデザインを更新した。
  • grntestgroonga-benchmark に改名した。
  • CentOS 5上で autogen.sh が動くようにした。
  • [linux] vm.overcommit_memory カーネルパラメーターの値をチェックするようにした。 [#1289]
  • grn_snipgrn_obj の仕組みを使うようにした。 [#1054]

修正

  • インストールしたRubyスクリプトをuninstallでアンインストールできない問題を修正した。 [#1299] [かずひこさんが報告]
  • Gemfileを追加した。 [#1302] [かずひこさんが報告]
  • インデックスに登録されているレコードが見つからないことがある問題を修正した。この機能を使っているのはmroongaだけである。 [#1303]
  • [groonga] --server-id オプションの名前の最後に -id がついていなかったので追加した。
  • latin1を正規化するときに意図しないメモリ領域にアクセスしてしまう問題を修正した。

感謝

  • かずひこさん
  • Markus Elfringさん

2.0.0リリース - 2012/02/29

改良

  • [dat] 長さが0かどうかキーをチェックするようにした。
  • [windows] GCC関連のDLLを同梱するようにした。 [groonga-dev,00686] [鈴木さんが報告]
  • [php] PHP 5.4に対応した。 [Daiki Uenoさんがパッチ提供]
  • FSFの住所を更新した。 [Daiki Uenoさんが提案]
  • [fedora] systemdに対応した。 [Daiki Uenoさんがパッチ提供]
  • [rpm][debian] デフォルトのプロトコルをgqtpからHTTPに変更した。
  • [rpm][centos] statusコマンドに対応した。
  • ログメッセージから必要のない : を削除した。
  • 非推奨となっていたgrn_queryを削除した。 [#1247]
  • テーブル作成時にgrn_ctx_at()の呼び出し回数を減らした。
  • [pat] キャッシュに対応した。
  • [tokenizer] トークナイザーAPIを整理した。
  • 名前に @ も使えるようにした。
  • [tokenizer] KyTea を使ったトークナイザーを追加した。
  • 静的なインデックス構築方法 をサポートした。
  • [tokenizer] MeCab 0.993に対応した。 [groonga-dev,00703] [Masaharu YOSHIOKAさんが報告]
  • [windows] MessagePackに対応した。

修正

  • [pat] 最後のノードを見つけられない問題を修正した。 [#1258]
  • [doc] 日本語ページ内のリンクを修正した。 [@naoinaさんが報告]
  • [doc] 間違ったデフォルト値を修正した。 [@naoinaさんが報告]
  • 誤字を修正した。[かずひこさんが報告]
  • [http] load コマンドのエラーがクリアされない不具合を修正した。 [@wareohjiさんが報告]

感謝

  • 鈴木さん
  • うえのさん
  • @naoinaさん
  • かずひこさん
  • Masaharu YOSHIOKAさん
  • @wareohji

1.3.0リリース - 2012/01/29

改良

  • GRN_DB_KEY=patまたはGRN_DB_KEY=dat環境変数値による動的なDBのキー管理テーブルの変更をサポート。
  • デフォルトのDBのキー管理テーブルを指定する --with-default-db-key configureオプションを追加。
  • geo pointデータ型の値として""をサポート。この値は"0x0"として扱う。
  • キャスト時のエラーメッセージにカラム名も含めるようにした。
  • loadエラー時に標準入力のファイル情報を表示しないようにした。
  • write-strings関連の警告を有効にし、警告がでないようにした。 [montywiさんが提案]
  • MessagePack形式の出力機能をサポート対象の機能とした。 [#1215]
  • *_set_value() 関数の void *const を追加した。
  • CとC++でコンパイル時の警告フラグを有効にした。
  • 値なしの --with-libevent configureオプションをサポート。
  • grn_table_get() がgrn_dbに対応した。 [#1242]
  • [rpm] groonga-serverから必要のないgroogna-munin-pluginsへの依存関係を削除。 [#1251] [Masaharu IWAIさんが提案]
  • [rpm] groongaから必要のないgroogna-docへの依存関係を削除。 [#1251] [Masaharu IWAIさんが提案]
  • [dat] grn_dat_repair() によるデータ復旧対応。
  • grn_table_at() がgrn_dbに対応。
  • [suggest] 「安定している」仕様とした。
  • [suggest][complete] 前方一致検索で正規化した値を使って検索するようにした。
  • 実験的な機能としてオフラインインデックス作成機能を追加。いまのところデフォルトでは無効になっているが、USE_OFFLINE_INDEXER=yes環境変数を指定することで有効にできる。
  • mroonga用に内部API grn_obj_path_by_id() を追加した。
  • [suggest][httpd] 未知のパラメーターをgroongaに渡すようにした。
  • [output][xml] 読みやすいように </RESULT> の前に改行を追加。
  • [doc][output] 出力形式に関するドキュメントを追加。
  • table_rename コマンドを追加。 [#1234]
  • column_rename コマンドを追加。 [#1234]

感謝

  • montywiさん
  • Masaharu IWAIさん