Groonga 12.0.7リリース
Groonga 12.0.7をリリースしました!
それぞれの環境毎のインストール方法: インストール
変更内容
主な変更点は以下の通りです。
改良
-
新しい関数
escalate()を追加しました。(実験的)escalate()関数は既存のマッチエスカレーション( 検索 )と似ています。この関数は、全ての条件で使えます。(既存のマッチエスカレーションは、一つの転置インデックスによる全文検索で使えます。)escalate()関数は検索結果の数を制限したい時に便利です。検索結果の数の制限は、--limitでもできますが、--limitは全ての条件を評価した後に評価されます。escalate()関数は結果セットがTHRESHOLDより多くのレコードを持っていたら、その時点で評価を終了します。つまり、escalate()関数は条件の評価の数を減らせる可能性があります。escalate() の構文は以下の通りです。
escalate(THRESHOLD_1, CONDITION_1, THRESHOLD_2, CONDITION_2, ..., THRESHOLD_N, CONDITION_N)THRESHOLD_Nは、0や29のような正の数です。CONDITION_Nはnumber_column > 29のような スクリプト構文 を使った文字列です。現在の結果セットのレコード数が
THRESHOLD_1以下の場合、CONDITION_1が実行されます。同様に、CONDITION_1評価後の結果セットのレコード数がTHRESHOLD_2以下の場合、CONDITION_2が実行されます。CONDITION_2評価後の結果セットのレコード数がTHRESHOLD_3より大きい場合、escalate()は終了します。全ての
CONDITIONが実行された場合、escalate(THRESHOLD_1, CONDITION_1, ..., THRESHOLD_N, CONDITION_N)はCONDITION_1 || ... || CONDITION_Nと同じです。escalate()関数は、&&and&!のような論理演算子と一緒に使えます。:number_column > 10 && escalate(THRESHOLD_1, CONDITION_1, ..., THRESHOLD_N, CONDITION_N) number_column > 10 &! escalate(THRESHOLD_1, CONDITION_1, ..., THRESHOLD_N, CONDITION_N)これらは、
number_column > 10 && (CONDITION_1 || ... || CONDITION_N)とnumber_column > 10 &! (CONDITION_1 || ... || CONDITION_N)と同じです。しかし、これらの挙動は使いにくいため変更される可能性があります。
-
[httpd] バンドルしているnginxのバージョンを1.23.1に更新しました。
-
select
--n_workersオプションのドキュメントを追加しました。
修正
-
OR検索実行中に
request_cancelを実行した場合、Groongaの応答が遅くなることがある問題を修正しました。OR検索の結果が多い場合や多くのOR条件をもつクエリー場合に、
request_cancelコマンドが原因でGroongaのレスポンスが遅くなることがあります。
既知の問題
-
現在Groongaには、ベクターカラムに対してデータを大量に追加、削除、更新した際にデータが破損することがある問題があります。
-
*<と*>は、filter条件の右辺にquery()を使う時のみ有効です。もし、以下のように指定した場合、*<と*>は&&として機能します。'content @ "Groonga" *< content @ "Mroonga"' -
GRN_II_CURSOR_SET_MIN_ENABLEが原因でマッチするはずのレコードを返さないことがあります。
さいごに
詳細については、以下のお知らせも参照してください。
それでは、Groongaでガンガン検索してください!