Groonga 9.0.4リリース
Groonga 9.0.4をリリースしました!
それぞれの環境毎のインストール方法: インストール
変更内容
主な変更点は以下の通りです。
-
配列リテラルの複数要素をサポートしました。
-
ベクターの等価演算をサポートしました。
-
logical_range_filter 出力するクエリーログを追加しました。
-
grndb 新しいオプション
--since
を追加しました。 -
query
default_operator
を追加しました。 -
[optimizer] 複数のfilter条件と
xxx.yyy=="keyword"
のような条件を指定した際にエラーが発生するバグを修正しました。 -
GroongaのWindows用のパッケージ(VC++版)に不足していたライセンスファイルを追加しました。
-
GroongaのWindows用のパッケージ(VC++版)UCRTランタイムを追加しました。
-
window_function メモリリークを修正しました。
- これは、複数のウインドウに対してソートキーを適用した際に発生します。
配列リテラルの複数要素をサポートしました。
以下のように filter
条件の中で複数要素を持った配列リテラルを使うことができます。
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
ベクターの等価演算をサポートしました。
以下のようにベクターに対して等価演算を使うことができます。
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
logical_range_filter 出力するクエリーログを追加しました。
logical_range_filter
コマンドが、以下のタイミングでログを出力するようになります。
logical_range_filter
によるフィルター後logical_range_filter
によるソート後- 動的カラム適用後
- 結果出力後
この機能によって、このコマンドがどこまで完了したかを見ることができます。
grndb Added support new option --since
検査の範囲を指定できます。
更新時刻は ISO 8601形式か -3days や -2.5weeksといった -NUNIT 形式で指定します。
以下は –since オプションをISO 8601形式で指定する例です。
% grmdb check --since=2019-06-24T18:16:22 /var/lib/groonga/db/db
上記の例では 2019-06-24T18:16:22 以降に更新されたオブジェクトをチェックします。
以下は –since オプションを -NUNIT 形式で指定する例です。
% grmdb check --since=-7d /var/lib/groonga/db/db
上記の例では、直近7日で更新されたものがチェックされます。
grndb#since も参考にしてください。
query default_operator
を追加しました。
"keyword1 keyword2"時の演算子をカスタマイズできます。 デフォルトでは、"keyword1 keyword2"はAND演算です。
以下のように、"keyword1 keyword2"の演算子をAND以外に変更できます。
table_create Products TABLE_NO_KEY
column_create Products name COLUMN_SCALAR ShortText
load --table Products
[
["name"],
["Groonga"],
["Mroonga"],
["Rroonga"],
["PGroonga"],
["Ruby"],
["PostgreSQL"]
]
select \
--table Products \
--filter 'query("name", "Groonga Mroonga", {"default_operator": "OR"})'
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
],
[
"name",
"ShortText"
]
],
[
1,
"Groonga"
],
[
4,
"PGroonga"
],
[
2,
"Mroonga"
]
]
]
]
さいごに
9.0.3からの詳細な変更点は9.0.4リリース 2019-06-29を確認してください。
それでは、Groongaでガンガン検索してください!