今回の主な変更点は次の通りです。頻出トークンとレアトークンを同時に検索するときの高速化それでは、いくつか簡単に紹介します。API層に非互換な変更がはいりました。以下の2点を修正する必要があります。内部で使っている_scoreの型の変更に追従するgrn_search_optargを0で初期化する新旧のGroongaで正しく動作するようにするには次のように_scoreの型変更に対応したコードに修正してください。(double)GRN_INT32_VALUE_FLOAT_VALUE(score);}また、grn_search_optargを次のように0で初期化してください。sizeof(grn_search_optarg));すでに上記のようにしているなら、リビルドしなおす(ABIの変更に追従)だけです。正規表現による検索のサポート今回のリリースでは、正規表現を使った検索をサポートしました。オプションで正規表現を使えます。filterとでは構文がちょっと違うことです。${REGULAR_EXPRESSION}「:~」と「@~」の違いは、Groongaの設計の違いによるものです。queryはクエリー構文を記述するのに対して、filterにはスクリプト構文を記述する必要があります。ほうが複雑な条件を記述できるように設計されたためです。インデックスを使って高速に検索することもできます。そのためには、次の条件を満すインデックスを作成します。トークナイザーを使っていること。フラグ付きであること。次のようなカラムインデックスを作成します。messageこうすることで、上記の例だとmessageカラムをインデックスを使って正規表現による検索をすることができるようになります。詳細については正規表現のドキュメントを参照してください。Windowsでデータベースの初期サイズをデフォルトでよりコンパクトに今回のリリースでは、データベースの初期サイズを小さくし、ディスク使用量を削減する仕組みをデフォルトで有効にしました。4.1.1ではいった実験的な機能を正式に採用したものです。これまで、WindowsではGNU/Linuxとは異なりかなりサイズが大きい初期ファイル(128MiB)をデフォルトで使っていました。このデータベースファイルはカラムを作れば作るだけ増えていくので、登録しているデータが少ない場合にはかなり無駄な領域があることになります。これはあまり嬉しくないので、WindowsでもGNU/Linux環境と同じように必要に応じて追加していくようにデフォルトの挙動を変更したのが今回の変更です。以下のメールに詳しいことが書いてあります。Windowsでの動作確認のお願いongaeshiさんがテストに協力してくれました。ありがとうございます!この変更により、後方互換性(新しいGroongaで古いGroongaのデータベースを開ける)は保たれますが、前方互換性(古いGroongaで新しいGroongaのデータベースを開ける)は失われていることに注意してください。頻出トークンとレアトークンを同時に検索したときの検索を高速に行えるようになりました。「同時に」というのがポイントです。この機能はデフォルトでは無効です。この機能を有効にするには、次の環境変数を指定する必要があります。GRN_II_CURSOR_SET_MIN_ENABLE=1注意事項として、ある程度のサイズの文書量がないと改善の効果を体感できないというのがあります。この機能の詳細についてはメーリングリストの次の投稿を参照してください。頻出トークンとレアトークンを一緒に検索したときの性能向上パッチ期待通りに改善している報告があつまったらデフォルトで有効にします。2.1の下でリリースされています。