HAYASHI Kentaro
null+****@clear*****
Sun Mar 29 14:12:54 JST 2015
HAYASHI Kentaro 2015-03-29 14:12:54 +0900 (Sun, 29 Mar 2015) New Revision: d806dacdd91408038c51a680302fbd49dab2503f https://github.com/groonga/groonga.org/commit/d806dacdd91408038c51a680302fbd49dab2503f Message: blog ja: Groonga 5.0.1 has been released! Added files: ja/_posts/2015-03-29-release.md Added: ja/_posts/2015-03-29-release.md (+130 -0) 100644 =================================================================== --- /dev/null +++ ja/_posts/2015-03-29-release.md 2015-03-29 14:12:54 +0900 (a27f971) @@ -0,0 +1,130 @@ +--- +layout: post.ja +title: Groonga 5.0.1リリース +description: Groonga 5.0.1をリリースしました! +--- + +## Groonga 5.0.1リリース + +今日は肉の日ですね![Groonga 5.0.1](/ja/docs/news.html#release-5-0-1) をリリースしました! + +それぞれの環境毎のインストール方法: [インストール](/ja/docs/install.html) + +### 変更内容 + +今回の主な変更点は次の通りです。 + + * 非互換な変更 + * スコアに関連したDB APIの非互換な変更があります + + * 改良 + * 正規表現による検索のサポート + * Windowsでデータベースの初期サイズをデフォルトでよりコンパクトに + + * 実験的な変更 + * 頻出トークンとレアトークンを同時に検索するときの高速化 + +それでは、いくつか簡単に紹介します。 + +#### 非互換な変更 - スコアに関連したDB APIの非互換な変更があります + +今回のリリースではDB API層に非互換な変更がはいりました。以下の2点を修正する必要があります。 + + * 内部で使っている`_score`の型の変更に追従する + * `grn_search_optarg`を`0`で初期化する + +新旧のGroongaで正しく動作するようにするには次のように`_score`の型変更に対応したコードに修正してください。 + + 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); + } + +また、`grn_search_optarg`を次のように`0`で初期化してください。 + + grn_search_optarg options; + memset(&options, 0, sizeof(grn_search_optarg)); + +すでに上記のようにしているなら、リビルドしなおす(ABIの変更に追従)だけです。 + +#### 改良 - 正規表現による検索のサポート + +今回のリリースでは、正規表現を使った検索をサポートしました。 + +[select](/ja/docs/reference/commands/select.html) コマンドの [query](/ja/docs/reference/commands/select.html#select-query) オプションと [filter](/ja/docs/reference/commands/select.html#select-filter) オプションで正規表現を使えます。注意しないといけないのは、`query` と `filter`とでは構文がちょっと違うことです。 + +`query`の場合: + + ${COLUMN}:~${REGULAR_EXPRESSION} + +`filter`の場合: + + ${COLUMN} @~ ${REGULAR_EXPRESSION} + +「:~」と「@~」の違いは、Groongaの設計の違いによるものです。 + +queryは[クエリー構文](/ja/docs/reference/grn_expr/query_syntax.html)を記述するのに対して、filterには[スクリプト構文](/ja/docs/reference/grn_expr/script_syntax.html)を記述する必要があります。 + +この構文の違いは `filter` のほうが複雑な条件を記述できるように設計されたためです。 + +インデックスを使って高速に検索することもできます。そのためには、次の条件を満すインデックスを作成します。 + + * 語彙表は `TABLE_PAT_KEY` テーブルであること。 + * 語彙表は `TokenRegexp` トークナイザーを使っていること。 + * インデックスカラムは `WITH_POSITION` フラグ付きであること。 + +つまり、次のようなカラムインデックスを作成します。 + + table_create RegexpLexicon TABLE_PAT_KEY ShortText \ + --default_tokenizer TokenRegexp \ + --normalizer NormalizerAuto + column_create RegexpLexicon logs_message_index \ + COLUMN_INDEX|WITH_POSITION Logs message + +こうすることで、上記の例だと`message`カラムをインデックスを使って正規表現による検索をすることができるようになります。 + +詳細については[正規表現のドキュメント](/ja/docs/reference/regular_expression.html)を参照してください。 + +#### 改良 - Windowsでデータベースの初期サイズをデフォルトでよりコンパクトに + +今回のリリースでは、データベースの初期サイズを小さくし、ディスク使用量を削減する仕組みをデフォルトで有効にしました。これはGroonga 4.1.1ではいった実験的な機能を正式に採用したものです。 + +これまで、WindowsではGNU/Linuxとは異なりかなりサイズが大きい初期ファイル(128MiB)をデフォルトで使っていました。 + +このデータベースファイルはカラムを作れば作るだけ増えていくので、登録しているデータが少ない場合にはかなり無駄な領域があることになります。 + +これはあまり嬉しくないので、WindowsでもGNU/Linux環境と同じように必要に応じて追加していくようにデフォルトの挙動を変更したのが今回の変更です。 + +以下のメールに詳しいことが書いてあります。 + +* [[groonga-dev,03036] Windowsでの動作確認のお願い](http://sourceforge.jp/projects/groonga/lists/archive/dev/2014-December/003038.html) + +ongaeshiさんがテストに協力してくれました。ありがとうございます! + +この変更により、後方互換性(新しいGroongaで古いGroongaのデータベースを開ける)は保たれますが、前方互換性(古いGroongaで新しいGroongaのデータベースを開ける)は失われていることに注意してください。 + +#### 実験的な改良 - 頻出トークンとレアトークンを同時に検索するときの高速化 + +今回のリリースでは、 頻出トークンとレアトークンを同時に検索したときの検索を高速に行えるようになりました。「同時に」というのがポイントです。この機能はデフォルトでは無効です。 + +この機能を有効にするには、次の環境変数を指定する必要があります。 + + GRN_II_CURSOR_SET_MIN_ENABLE=1 + +注意事項として、ある程度のサイズの文書量がないと改善の効果を体感できないというのがあります。 + +この機能の詳細についてはメーリングリストの次の投稿を参照してください。 + +* [[groonga-dev,03095] 頻出トークンとレアトークンを一緒に検索したときの性能向上パッチ](http://sourceforge.jp/projects/groonga/lists/archive/dev/2015-February/003097.html) + +期待通りに改善している報告があつまったらデフォルトで有効にします。 + +### さいごに + +5.0.0からの詳細な変更点は [5.0.1リリース 2015-03-29](/ja/docs/news.html#release-5-0-1) を確認してください。 + +それでは、Groongaでガンガン検索してください! -------------- next part -------------- HTML����������������������������... Télécharger