Horimoto Yasuhiro
horim****@clear*****
2018年 1月 29日 (月) 14:57:33 JST
堀本です。 今日は肉の日ですね! Groonga 7.1.1をリリースしました! http://groonga.org/ja/blog/2018/01/29/groonga-7.1.1.html 細かな変更点についてはニュースをご確認下さい。 http://groonga.org/ja/docs/news.html#release-7-1-1 それでは、7.1.1のリリースについて紹介します。 # 変更内容 主な変更点は以下の通りです。 * Quorum match をサポートしました。filterとquery両方で使えます。 * filter で類似度のしきい値を指定できるよう改良しました。 * grndb recover に`--force-lock-clear`オプションを追加しました。 * サロゲートペアを load できるように改良しました。 * logical_range_filter に post_flter オプションを追加しました。 ## Quorum matchをサポートしました。filterとquery両方で使えます Quorum matchは、曖昧検索をする際に使用します。 設定したしきい値を超える数のトークンが存在するレコードにマッチします。 例えば、"I have a pen"が"I"、"have"、"a"、"pen"の4つのトークンに分割 されるとすると、これらのトークンのうちいずれか3つ以上のトークンを持つ レコードが マッチします。 以下のように使用します。 * --filterの引数として使用する場合 --filter column *Q${THRESHOLD} "I have a pen" * --queryの引数として使用する場合 --query *Q${THRESHOLD}"I have a pen" ## filter で類似度のしきい値を指定できるよう改良しました 以下のように類似度のしきい値をカスタマイズして、類似文章検索が出来るよう になります。 類似文章検索は、以下の例で言うと、"document"と似たようなレコードを検索 する機能です。 --filter column *S${SIMILARITY_THRESHOLD} "document" ## grndb recover に --force-lock-clear オプションを追加しました 通常テーブルにロックが残留していた場合は安全に復旧できないため、 自動復旧できませんが、このオプションを使用することでテーブルに ロックが残留していても、grndb recoverを実行することができます。 強制的に復旧するので、安全に復旧することはできません。 おいおい問題が発生したとしても、すぐにデータベースを操作したい場合 に使うことを想定しています。 以下のように使用します。 % grndb recover --force-lock-clear DB_PATH ## サロゲートペアを load できるように改良しました loadコマンドで入力するJSON内にサロゲートペアの文字を使用できます。 以下のように4byteのUnicode文字列を "\uD83C\uDF7A" の形式で扱える ようになります。 たとえば BEER MUG(ビールジョッキの絵文字です。メールでは文字化け しそうなのでBEER MUGと表記しました。)(0xF0 0x9F 0x8D 0xBA) を `\uD83C\uDF7A` と記述できます。 ## logical_range_filter に post_flter オプションを追加しました。 filtered ステージで生成されるカラムに対して、さらに filter を実行 できます。 ## 改良 * Quorum match をサポートしました。filterとquery両方で使えます。 [groonga-talk,385][付超群さんの提案] * filter で類似度のしきい値を指定できるよう改良しました。 * grndb recover に`--force-lock-clear`オプションを追加しました。 * サロゲートペアを load できるように改良しました。 * logical_range_filter に post_flter オプションを追加しました。 * Windows上でスパースファイルを使用するように変更しました。 ディスク容量を節約できます。パフォーマンス上のデメリット はありません。 ## 修正 * 参照ベクタのインデックスを作成する際に使用するリソースを 削減しました。[GitHub#806][村上さんが報告] * [table_create] token_filters が無効であってもテーブルが作成される 不具合を修正しました。[GitHub#266] ## 感謝 * 付超群さん * 村上さん