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でガンガン検索してください!