こんばんは。堀本です。
Groonga 11.1.0 をリリースしました!
https://groonga.org/ja/docs/news.html#release-11-1-0
変更点一覧:
https://groonga.org/ja/blog/2021/11/29/groonga-11.1.0.html
## 主な変更内容
### 改良
* [load] ISO 8601 形式をサポートしました。
この変更によって、 load は、以下のフォーマットをサポートします。
* YYYY-MM-ddThh:mm:ss.sZ
* YYYY-MM-ddThh:mm:ss.s+10:00
* YYYY-MM-ddThh:mm:ss.s-10:00
この構文の T と Z の代わりに t と z を使うこともできます。
- の代わりに / を使うこともできます。
ただし、 / は、ISO 8601 形式ではないことに注意してください。 / は互換性のためにサポートしています。
* [select] 新しい query_flags DISABLE_PREFIX_SEARCH を追加しました。
以下のように、 DISABLE_PREFIX_SEARCH によって、前方一致検索の演算子の ^ と * を検索キーワードとして使えます。
この機能は、 ^ や * を含むドキュメントを検索したい時に便利です。
table_create Users TABLE_PAT_KEY ShortText
load --table Users
[
{"_key": "alice"},
{"_key": "alan"},
{"_key": "ba*"}
]
select Users \
--match_columns "_key" \
--query "a*" \
--query_flags "DISABLE_PREFIX_SEARCH"
[[0,0.0,0.0],[[[1],[["_id","UInt32"],["_key","ShortText"]],[3,"ba*"]]]]
table_create Users TABLE_PAT_KEY ShortText
load --table Users
[
{"_key": "alice"},
{"_key": "alan"},
{"_key": "^a"}
]
select Users \
--query "_key:^a" \
--query_flags "ALLOW_COLUMN|DISABLE_PREFIX_SEARCH"
[[0,0.0,0.0],[[[1],[["_id","UInt32"],["_key","ShortText"]],[3,"^a"]]]]
* [select] 新しい query_flags DISABLE_AND_NOT を追加しました。
以下のように、 DISABLE_AND_NOT によって、 AND NOT の演算子の - を検索キーワードとして使えます。
この機能は、 - を含むドキュメントを検索したい時に便利です。
table_create Users TABLE_PAT_KEY ShortText
load --table Users
[
{"_key": "alice"},
{"_key": "bob"},
{"_key": "cab-"}
]
select Users --match_columns "_key" --query "b - a" --query_flags "DISABLE_AND_NOT"
[[0,0.0,0.0],[[[1],[["_id","UInt32"],["_key","ShortText"]],[3,"cab-"]]]]
### 修正
* [ブラウザーベースの管理ツール] レコード一覧の管理モードのチェックボックスにチェックを入れても、
非管理モードに入力された検索クエリーが送信される問題を修正しました。
### 既知の問題
* 現在Groongaには、ベクターカラムに対してデータを大量に追加、削除、更新した際にデータが破損することがある問題があります。
* *< と *> は、filter条件の右辺に query() を使う時のみ有効です。もし、以下のように指定した場合、
*< と *> は && として機能します。
* 'content @ "Groonga" *< content @ "Mroonga"'
* GRN_II_CURSOR_SET_MIN_ENABLE が原因でマッチするはずのレコードを返さないことがあります。