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

お知らせ

4.0.6リリース - 2014/09/29

改良

  • debian/copyrightを機械可読な形式でルールに沿うように更新しました。[やまねさんが報告]

  • [deb][rpm] HTTP経由でnginxをコントロールするのではなくシグナルを使うようにしました。このほうがnginxらしいinit scriptです。

  • [doc] [ 実行ファイル ] の英語ドキュメントを更新しました。 [GitHub#196] [横山さんがパッチ提供]

  • [OS X] HomebrewでSphinxに関するエラーメッセージへの対処方法を追加しました。 [GitHub#198] [cosmo0920さんがパッチ提供]

  • [mruby] mrubyによるクエリオプティマイザが範囲検索で実用的になりました。例えば、mrubyを使うことによるオーバーヘッドは、次のようなクエリで無視できます。"between(X, 0, 'exclude', 100, 'include')" - "X > 0 && X <= 100"。

  • [doc] バグレポートの報告先として GitHub を推奨することにしました。これまではRedmineで、アカウントは管理者による承認が必要でした。これからは、GitHubで気軽に問題を報告してください。 [GitHub#202] [cosmo0920さんがパッチ提供]

  • [doc] C APIのドキュメントを翻訳しました。 [GitHub#203] [野首さんがパッチ提供]

  • '*S10"..."' というシンタックスで類似度の閾値をカスタマイズできるようにしました。

  • column_create にソースカラムの検証機能を追加しました。もし、ソースカラムが存在しない場合は column_createfalse を返し、カラムは作られません。

  • [deb] Debian jessieとsidのサポートをやめました。

修正

  • 類似文書検索で、トークンを選択する際にIDF (逆文書出現頻度) を使っていない不具合を修正しました。以前のバージョンでは、IDFではなく、トークンのIDを使ってしまっていました。[groonga-dev,02731] [groonga-dev,02754] [三谷さん、warp kawadaさんが報告]

  • レコードを削除する際にクラッシュする問題を修正しました。この問題は、削除を行うクエリに _key が含まれており、その _key を参照するインデックスカラムが2つ以上ある場合に発生します。

  • 未使用変数 'e' に対するコンパイラの警告を修正しました。 [GitHub#197] [cosmo0920さんがパッチ提供]

  • [fedora][httpd] ログディレクトリがないとサービス開始時に失敗するのを修正しました。

  • [mruby] --disable-mruby でビルドしたときのエラーを修正しました。 [GitHub#200] [cosmo0920さんがパッチ提供]

  • MariaDBにMroongaをバンドルしたパッケージをビルドする際の警告(CMP0014)を修正しました。 [GitHub#201] [cosmo0920さんがパッチ提供]

  • "*" が空文字列に対する前方一致検索として扱われてしまう不具合を修正しました。 [groonga-dev,02796] [かずひこさんが報告]

  • [httpd] バンドルしているnginxのバージョンを1.7.5に更新しました。セキュリティーに関する修正(CVE-2014-3616)を含んでいます。

感謝

  • やまねひできさん

  • 横山さん

  • cosmo0920さん

  • 野首さん

  • 三谷さん

  • warp kawadaさん

  • かずひこさん

4.0.5リリース - 2014/08/29

改良

  • Ubuntu 13.10 (Saucy Salamander)のサポートをやめました。

  • 重みつきベクターカラムの表示をXML出力のときにもサポートしました。

  • [ between ] 範囲外のキーも指定できるようにしました。 [GitHub#183] [村上さんがパッチ提供]

  • [mruby] バンドルしている正規表現の実装をOnigmoに変更しました。

  • タグ出力のために highlight_fullhighlight_html を追加しました。 [GitHub#185] [村上さんがパッチ提供]

  • [doc] 古くなっていた functions/commands リファレンスを更新しました。 [GitHub#188] [GitHub#189] [村上さんがパッチ提供]

  • [benchmark] 平均と中央値をベンチマーク結果に含めるようにしました。

  • プラグイン開発者向けに grn_selector_func()grn_proc_set_selector() を公開しました。 [GitHub#190] [村上さんがパッチ提供]

  • [ tokenize ] "mode" オプションを追加して、振舞いを変更できるようにしました。GET あるいは ADD を指定できます。 [GitHub#191] [GitHub#192] [村上さんがパッチ提供]

  • 近傍検索で、'*N"A Z"' という構文をサポートしました。

  • トークンをスキップしたり、トークンだけでなくその位置もスキップするかどうかをカスタマイズできるようにしました。この機能はトークナイザープラグインを開発するときに有用です。 [GitHub#193] [村上さんがパッチ提供]

  • [doc] GitHubのIssuesによるバグレポートで日本語も受けつけるようにしました。 [6elzさんが報告] [groonga-dev,02651]

  • [doc] チュートリアルの英語版を更新しました。[GitHub#194] [cosmo0920さんがパッチ提供]

修正

  • [php] grn_ctx_recv() を呼び出したときのメモリリークを修正しました。[GitHub#184] [@do-akiさんがパッチ提供]

  • [php] grn_ctx_close() を呼んだときにメモリを二重に解放しないようにしました。[GitHub#184] [@do-akiさんがパッチ提供]

  • ツリー外でのビルドを再度サポートしました。

  • [httpd] バンドルしているnginxのバージョンを1.7.4に更新しました。セキュリティーに関する修正を含んでいます。

  • インデックス更新の際に無限ループが発生することがある問題を修正しました。[groonga-dev,02673] [皆川さんが報告]

  • 静的なインデックス構築方法 を使ったときに、トークンを含むドキュメント数(document frequency)の値が不正な値になっている問題を修正しました。 [groonga-dev,02691] [村上さんが報告]

感謝

  • @do-akiさん

  • 村上さん

  • 6elzさん

  • 皆川さん

  • cosmo0920さん

4.0.4リリース - 2014/07/29

改良

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

  • 重みつきベクターカラムを正しく扱えるようにしました。

  • [ groonga-benchmark ] HTTPに関する説明を追加しました。

  • [ チュートリアル ] 英語のドキュメントを更新しました。

  • [example] Ruby 1.9以降でedict2grn.rbが動作するようにしました。

  • [http][admin] 管理画面で英語を標準にしました。

修正

  • レスポンスでシンタックスエラーの発生個所を正しく表示できるようにしました。

  • [httpd] Clangでビルドエラーとなる問題を修正しました。 [GitHub clear-code/rurema-search#11] [nikuさんが報告]

感謝

  • nikuさん

4.0.3リリース - 2014/06/29

改良

  • [実験的][ groonga HTTPサーバー ] POSTをサポート。

  • [windows] libwinpthread-1.dllをバンドル。新しいlibgcc_s_sjlj-1.dllがlibwinpthread-1.dllに依存しているため。 [groonga-dev,02398] [横山さんが報告]

  • [ groongaコマンド ] GQTPのデフォルトポート番号を10043に変更。サーバーパッケージではデフォルトで10043を使っているため。 [GitHub#172] [村上さんがパッチ提供]

  • [ normalize ] 引数チェックを強化。 [groonga-dev,02409][GitHub:#174] [GMOメディア株式会社さんが報告][村上さんがパッチ提供]

  • [ tokenize ] 引数チェックを強化。

  • [ groonga HTTPサーバー ] Expect: 100-Continue を使うリクエストをサポート。

  • grn_proc_get_type() を公開。

  • [ groonga-suggest-learner ] --log-path オプションと --log-level オプションを追加。

  • GRN_CTX_USE_QL を非推奨にした。

  • GRN_CTX_BATCH_MODE を非推奨にした。

  • grn_text_printf() を追加。

  • grn_text_vprintf() を追加。

  • それぞれのクエリーログのサイズ制限を撤廃。

  • grn_plugin_expr_var_init() を追加。 [GitHub#175][村上さんがパッチ提供]

  • grn_plugin_command_create() を追加。 [GitHub#175][村上さんがパッチ提供]

  • [GitHub#176] 重み付きの参照ベクターカラムをサポート。

  • [plugin] 内部APIではなく公開APIを使うように変更。 [GitHub#177][GitHub#178] [村上さんがパッチ提供]

  • [doc][plugin] プラグイン用のAPIを追加。 [GitHub#179] [村上さんがパッチ提供]

  • [windows] Visual C++ 2010を再サポート。 [groonga-dev,02454] [cosmo0920さんが報告]。

修正

  • [rpm][groonga-server-gqtp] GQTPではなくHTTPが使われる問題を修正。 [GitHub#173] [村上さんがパッチ提供]

  • [ select ] adjuster に指定した値がシンタックスエラーだとクラッシュする問題を修正。

感謝

  • 横山さん

  • 村上さん

  • GMOメディア株式会社さん

  • cosmo0920さん

4.0.2リリース - 2014/05/29

改良

  • [doc] groonga-suggest-learner のドキュメントを更新しました。

  • [doc] ファイルの更新方法に関するドキュメントを更新しました。 [GitHub#160] [cosmo0920さんがパッチ提供]

  • [doc] ドキュメント中で「Groonga」という標記を使うようにしました。 [GitHub#162][GitHub#163][GitHub#164] [cosmo0920さんがパッチ提供]

  • Ubuntu 14.04 Trusty Tahrをサポート。

  • Ubuntu 12.10のサポートを終了しました。

  • Ubuntuパッケージの配布場所としてLaunchpadのPPAを使うようにしました。詳細は Ubuntu を確認してください。

  • /d/ から始まるリクエストはすべてAPIリクエストとして処理するようになりました。GroongaのHTTPサービスでファイルを提供したい場合は、 /d/ 以外から始まるパスにファイルを置いてください。

  • [munin] groonga-httpd をサポートしました。 [村上さんが報告]

  • 夏時間をサポートしました。 [#2546]

  • [doc] Mac OS X--with-mecab の説明を追加しました。

  • [http] シンタックスエラーが発生したときのHTTPのリターンコードを 500 Internal Server Error から 400 Bad Request に変更しました。

  • [http][admin] jQueryのJSONプラグインを削除しました。 [GitHub#168] [大関さんがパッチ提供]

  • [http][admin] strictモードを有効にしました。 [GitHub#169] [大関さんがパッチ提供]

  • 変数の値を取得するAPIを Plugin のAPIとして使えるようにしました。 [GitHub#170] [村上さんがパッチを提供]

    • grn_plugin_proc_get_var() を追加。

    • grn_plugin_proc_get_var_by_offset() を追加。

  • [実験的] tokenizer_list を追加しました。 [GitHub#171] [村上さんがパッチ提供]

  • [実験的] normalizer_list を追加しました。 [GitHub#171] [村上さんがパッチ提供]

修正

  • [index] 最大セグメント数が間違っていた問題を修正しました。この問題によりインデックスカラム用のすべてのリソースを使い切るとクラッシュしていました。 [#2438] [GMOメディア株式会社さんが報告]

  • [doc] CentOS の中のtypoを修正しました。 [GitHub#166] [村上さんがパッチ提供]

  • [doc] selectdrilldown_output_columns のデフォルト値が間違っていた問題を修正しました。 [GitHub#167] [村上さんがパッチ提供]

  • [doc] クエリー構文 で不足していた \ エスケープの例外ケースを追加しました。 [@Yappoさんが報告]

感謝

  • cosmo0920さん

  • 村上さん

  • 大関さん

  • GMOメディア株式会社さん

  • @Yappoさん

4.0.1リリース - 2014/03/29

改良

  • [doc] 返り値のヘッダ詳細 (出力形式) についてのリンクを追加しました。

  • JSONロード時のベクターの値とオブジェクトの値を表示できるようにしました。ロードに失敗したときのデータの詳細がわかるようになりました。

  • selectコマンドに adjuster オプションを追加しました。adjusterオプションのシンタックスは INDEX_COLUMN @ STRING_LITERAL (* FACTOR) です。

  • 重み付きベクターカラム をサポートしました。重みつきベクターを使うにはカラム作成時に 'COLUMN_VECTOR|WITH_WEIGHT' を指定する必要があります。

  • SunOSでビルドに必要なMIN/MAXの定義がなかったので追加しました。[GitHub#154] [Sebastian Wiedenrothさんがパッチ提供]

  • 使われなくなった領域を再利用するように改善しました。これによりデータべースの肥大化を抑制します。

  • [doc] groonga-suggest-httpd のGETパラメータに関するドキュメントを追加しました。

  • [doc] カラム のドキュメントを追加しました。

  • [doc] ベクターカラム のドキュメントを追加しました。

  • [column_list] 重みつきベクターカラムを表示できるようにしました。

  • [column_create] マルチカラムインデックスを作成するときに、WITH_SECTIONフラグが指定されていない場合のエラーチェックを追加しました。

  • [httpd] NginxHttpStubStatusModuleをgroonga-httpdで有効にしました。[長野雅広さんが提案]

修正

  • 除算によるオーバーフローが発生する不具合を修正しました。例えば、'COLUMN(最小値) / -1' をInt32やInt64で定義したカラムに適用すると発生します。[#2307]

  • 剰余演算 '%' ではなく、除算 '/' を行ってしまう不具合を修正しました。[#2307]

  • [doc] column_rename のドキュメントの説明の誤りを修正しました。 [nise_nabeさんが報告]

  • 配列の領域外アクセスが発生しうる問題を修正しました。[GitHub#158] [dcb314さんが報告]

感謝

  • Sebastian Wiedenrothさん

  • 長野雅広さん

  • nise_nabeさん

  • dcb314さん

4.0.0リリース - 2014/02/09

  • バージョン4.0.0になりました!

改良

  • [normalizer] "checks" というノーマライズ前の文字列だと次の文字の位置がどこか計算するのに使う値を表示できるようにしました。この機能を有効にするには WITH_CHECK フラグを使用します。

  • [deb] Ubuntu 13.04 (Raring Ringtail)のサポートをやめました。

修正

  • grn_expr のオブジェクトが解放後にアクセスされクラッシュしてしまう不具合を修正しました。Groongaサーバーを利用している場合にはこの不具合に該当しません。主にこの不具合の影響を受けるのはRroongaユーザーです。この不具合はRroongaのAPIに _key のような疑似カラム名を含んだ指定をすることで発生します。

  • Groonga 3.0.8で導入されたカスケード削除を意図せず実行しないようにしました。参照元とインデックスのドメインが異なる場合にはカスケード削除を実行しないようにしました。 [groonga-dev,02073] [yokuさんが報告]

  • grn_snip 構造体を公開しないようにしました。 grn_snip のかわりに grn_obj を使うようにしてください。もし grn_snip_close を使っていたら、 grn_obj_close に置き換えてください。

  • [snippet_html] --queryが空のときにクラッシュする不具合を修正しました。 [groonga-dev,02097] [村上さんが報告]

  • [snippet_html] カラムの中身が空のときのALERTレベルのメッセージを抑制するようにしました。 [groonga-dev,02097] [村上さんが報告]

  • [groonga-httpd] "off" が通常のパス名として groonga_query_log_path で使われてしまう不具合を修正しました。 [groonga-dev,02113] [山本良二さんが報告]

感謝

  • yokuさん

  • 村上さん

  • 山本良二さん

The old releases