[groonga-dev,04617] [ANN] Groonga 8.0.2

Back to archive index

Masafumi Yokoyama yokoy****@clear*****
2018年 5月 1日 (火) 12:42:23 JST


Groongaプロジェクトです。

おとといは肉の日でしたね。Groonga 8.0.2をリリースしました!

   http://groonga.org/ja/blog/2018/4/29/groonga-8.0.2.html

今回のリリースでは、プログラミングせずにオプション指定だけでトークナイザーとノーマライザーを「定義」できるようになりました。表記揺れの多いソースを検索するのに役立ちます。
細かな変更点についてはニュースをご確認下さい。

   http://groonga.org/ja/docs/news.html#release-8-0-2

それでは、8.0.2のリリースについて紹介します。

# 変更内容

主な変更点は以下の通りです。

   * [logical_range_filter] sort_keys オプションに対応しました。
   * strftime と同じ書式で Time 
型のカラムの内容を出力できるようになりました。
   * オプション指定が可能なトークナイザー TokenNgram を新たに追加しました。
   * Unicode 10.0 用の Unicode NFKC に基づくノーマライザー NormalizerNFKC100 
を追加しました。
   * ノーマライザーのうち NormalizerNFKC51 と NormalizerNFKC100 
についてオプション指定に対応しました。
   * [dump][schema] 
トークナイザーとノーマライザーのオプションの出力に対応しました。

## [logical_range_filter] sort_keys オプションへの対応

logical_range_filter が sort_keys に対応しました。これは select コマンドの sort_keys 
オプションに相当します。

このオプションは検索対象の shard が 1 つだけの場合にのみ動作し、複数の shard 
を検索対象にする場合は動作しないことに注意して下さい。
詳細はコマンドリファレンスを参照して下さい。
http://groonga.org/ja/docs/reference/commands/logical_range_filter.html#sort-keys

### 新しい関数 time_format() を追加

Time 型のカラムの出力形式を strftime 
と同じ書式で指定できるようになりました。
例えば、以下のコマンド列は _key カラムの内容を UNIX 秒表記と人間にも分かりやすい 
2018-04-29T10:30:00 のような表記の両方で出力します:

select Timestamps --sortby _id --limit -1 \
   --output_columns '_key, time_format(_key, "%Y-%m-%dT%H:%M:%S")'

## トークナイザー TokenNgram を新たに追加

新しいトークナイザー TokenNgram が追加されました。
このトークナイザーは、オプション指定で動作を動的に定義することができます。
オプションは TokenNgram("[オプション名 1]", [値 1], "[オプション名 2]", [値 2], 
...) のような形式で指定します。
例:

table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText \
   --default_tokenizer 'TokenNgram("n", 2, "loose_symbol", true)' \
   --normalizer NormalizerAuto

## 新たなノーマライザー NormalizerNFKC100 の追加

新しいノーマライザー NormalizerNFKC100 が追加されました。
これは Unicode 10.0 用の Unicode NFKC (Normalization Form Compatibility 
Composition) に基づく正規化を行う物です。

このノーマライザーと NormalizerNFKC51 はオプションの指定に対応しています。
詳細は次項を参照して下さい。

## NormalizerNFKC51 と NormalizerNFKC100 のオプション指定に対応

ノーマライザーのうち NormalizerNFKC51 と NormalizerNFKC100 
について、オプションで細かい挙動を動的に変更できるようになりました。
オプションは NormalizerNFKC100("[オプション名 1]", [値 1], "[オプション名 2]", 
[値 2], ...) のような形式で指定します。
例:

table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText \
   --default_tokenizer TokenBigram \
   --normalizer 'NormalizerNFKC100("unify_kana", true, 
"unify_kana_case", true)'

## [dump][schema] トークナイザーとノーマライザーのオプションの出力に対応

dump と schema の両コマンドで、トークナイザー (TokenNgram) とノーマライザー (NormalizerNFKC51 
および NormalizerNFKC100) のオプションの出力に対応しました。
この変更の結果、これらのオプションの情報を含む dump や schema の結果は、Groonga 
8.0.1 およびそれ以前のバージョンではインポートできなくなっています。

オプションが指定されていないトークナイザーやノーマライザーについては出力形式は旧バージョンから変わっていないため、上記のトークナイザーやノーマライザーの新機能を使っている場合にのみ注意が必要です。

## 感謝

  * satouyuzhさん(スペースのみのクエリの取り扱いに関するフィードバック)




groonga-dev メーリングリストの案内
Back to archive index