こんにちは。堀本です。
遅くなってしまいましたが、Groonga 11.0.9 をリリースしました!
https://groonga.org/ja/docs/news.html#release-11-0-9
変更点一覧:
https://groonga.org/ja/blog/2021/11/05/groonga-11.0.9.html
## 主な変更内容
* [snippet] 正規表現を使ってスニペットの区切り文字を見つける新しいオプション delimiter_regexp を追加しました。
snippet()は、検索キーワードの周辺のテキストを抽出します。snippet()で抽出したテキストをスニペットと呼びます。
通常、 snippet()は、検索キーワードの周辺の200byteのテキストを返しますが、snippet()は、センテンスの区切りを考慮しません。
スニペットは、複数のセンテンスで構成されることがあります。
delimiter_regexp オプションは、検索キーワードと同じセンテンスのテキストのみを抽出したいときに便利です。
* [window_rank] 新しい関数 window_rank() を追加しました。
ギャップを含む各レコードの順位を計算できます。通常、順位は、複数のレコードが同じ順位の時は増加しません。
例えば、ソートキーの値が 100、 100、 200の場合、これらの順位は 1、 1、 3です。1位のレコードが2つあるので、
最後のレコードの順位は2ではなく3です。
これは、window_record_number()と似ていますが、window_record_number()はギャップを考慮しません。
* [in_values] テーブル検索時に自動的にキャストするようにしました。
例えば、 キーの型がUInt64のテーブルにUInt32の値をロードした場合、Groongaは、in_values()
でテーブルを検索するときに自動的に値をUInt64にキャストします。
ただ、in_values(_key, 10)はこの機能の対象外です。10は、Int32として解釈されるためです。
* [httpd] バンドルしているnginxのバージョンを1.21.3に更新しました。
* [AlmaLinux] AlmaLinux 8 向けのパッケージをサポートしました。
* [Ubuntu] Ubuntu 21.10 (Impish Indri)をサポートしました。
## 修正
* Groongaがコマンドエラー(例えば、filterのシンタックスエラー)発生時に応答を返さない問題を修正しました。
* これは、 --output_type apache-arrow を使っているときのみ発生します。
## 既知の問題
* 現在Groongaには、ベクターカラムに対してデータを大量に追加、削除、更新した際にデータが破損することがある問題があります。
* [ブラウザーベースの管理ツール] 現在Groongaには、レコード一覧の管理モードのチェックボックスにチェックを入れても、
非管理モードに入力された検索クエリーが送信されるという問題があります。
* *< と *> は、filter条件の右辺に query() を使う時のみ有効です。もし、以下のように指定した場合、
*< と *> は && として機能します。
* 'content @ "Groonga" *< content @ "Mroonga"'
* GRN_II_CURSOR_SET_MIN_ENABLE が原因でマッチするはずのレコードを返さないことがあります。