Groonga 8.0.0リリース
今日は肉の日ですね!
Groonga 8.0.0をリリースしました!
メジャーバージョンアップです! メジャーバージョンアップですが、互換性は壊れていないので、安心してアップグレードしてください!
それぞれの環境毎のインストール方法: インストール
変更内容
主な変更点は以下の通りです。
-
select
--drilldown_adjuster
と--drilldowns[LABEL].adjuster
をサポートしました。 -
between
between()
の引数に境界値を指定しなくても動作するようにしました。 -
ハッシュテーブルのメモリリークを修正しました。
select --drilldown_adjuster
と--drilldowns[LABEL].adjuster
を追加しました
select
の引数に--drilldown_adjuster
と--drilldowns[LABEL].adjuster
を追加しました。
drilldown
結果に対して、--adjuster
と同様スコアの調整ができます。
以下のように使用します。
table_create Categories TABLE_PAT_KEY ShortText
table_create Tags TABLE_PAT_KEY ShortText
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories
table_create Memos TABLE_HASH_KEY ShortText
column_create Memos tags COLUMN_VECTOR Tags
column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT \
Tags categories
load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]
load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]
select Memos \
--limit 0 \
--output_columns _id \
--drilldown tags \
--drilldown_adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' \
--drilldown_output_columns _key,_nsubrecs,_score
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
]
]
],
[
[
3
],
[
[
"_key",
"ShortText"
],
[
"_nsubrecs",
"Int32"
],
[
"_score",
"Int32"
]
],
[
"groonga",
2,
203
],
[
"mroonga",
1,
265
],
[
"ruby",
1,
0
]
]
]
]
上記の例では、categories
にfull-text-search
かmysql
を持つレコードのスコアを調整しています。
between between()
の引数に境界値を指定しなくても動作するようにしました
between()
は、最小値、最大値を含む/含まないを指定する引数を含めて5つの引数が必要でしたが、
今回のリリースから、最小値、最大値を含む/含まないを指定しなくても使えるようになりました。
以下のように3つの引数で使うことができます。 3つの引数で使用した場合は、最小値、最大値を含むものとして処理されます。
table_create Users TABLE_HASH_KEY ShortText
column_create Users age COLUMN_SCALAR Int32
table_create Ages TABLE_PAT_KEY Int32
column_create Ages users_age COLUMN_INDEX Users age
load --table Users
[
{"_key": "alice", "age": 17},
{"_key": "bob", "age": 18},
{"_key": "calros", "age": 19},
{"_key": "dave", "age": 20},
{"_key": "eric", "age": 21}
]
select Users --filter 'between(age, 18, 20)'
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
],
[
"_key",
"ShortText"
],
[
"age",
"Int32"
]
],
[
2,
"bob",
18
],
[
3,
"calros",
19
],
[
4,
"dave",
20
]
]
]
]
ハッシュテーブルのメモリリークを修正しました
この修正により、Windowsにおいて、クエリーを実行し続けるだけで、Groongaに接続できなくなることがある現象を解消しています。
さいごに
7.1.1からの詳細な変更点は8.0.0リリース 2018-02-09を確認してください。
それでは、Groongaでガンガン検索してください!