[groonga-dev,04878] [ANN] Groonga 11.0.5

Back to archive index
Horimoto Yasuhiro horim****@clear*****
2021年 8月 2日 (月) 18:15:48 JST


こんばんは。堀本です。

少し遅くなってしまいましたが、Groonga 11.0.5 をリリースしました!

    https://groonga.org/ja/docs/news.html#release-11-0-5

変更点一覧:

    https://groonga.org/ja/blog/2021/07/29/groonga-11.0.5.html

## 主な変更内容

* [Normalizers] ノーマライザーを複数指定できるようになりました。

  テーブル作成時に --normalizers オプションを使うことで、複数のノーマライザーを指定できます。
  互換性のため、既存の --normalizer を使っても複数のノーマライザーを指定できます。

  Groonga 11.0.4 でノーマライザーをカスタマイズするための NormalizerTable を追加しました。
  この NormalizerTable と既存のノーマライザーを組み合わせることでより柔軟な制御ができます。

* [query_parallel_or]、[query] シーケンシャルサーチのしきい値をカスタマイズできるようにしました。

  以下のオプションを使うことで、シーケンシャルサーチを使うかどうかのしきい値を
  クエリーごとにカスタマイズできます。

    * {"max_n_enough_filtered_records": xx}

      max_n_enough_filtered_records は、レコード数を指定します。
      query または、 query_parallel_or で、この値以下までレコードが絞り込めそうな場合、
      シーケンシャルサーチを使います。

    * {"enough_filtered_ratio": x.x}

      enough_filtered_ratio は、全体に占める割合を指定します。
      query または、 query_parallel_or で、この割合以下までレコードが絞り込めそうな場合、
      シーケンシャルサーチを使います。

      例えば、 {"enough_filtered_ratio": 0.5} とした場合、 query または query_parallel_or
      で全体の半分まで絞り込めそうな場合はシーケンシャルサーチを使います。

* [between]、[in_values] シーケンシャルサーチのしきい値をカスタマイズできるようにしました。

  [between]と [in_values] は、検索対象のレコードが十分に絞り込まれている時に、シーケンシャル
  サーチに切り替える機能があります。

  今までも、以下のように環境変数でこのしきい値はカスタマイズできました。

    * GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO
    * GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO

  環境変数によるカスタマイズは、すべてのクエリーに対して適用されますが、
  この機能は、クエリーごとにしきい値を指定できます。

* [between] GRN_EXPR_OPTIMIZE=yes をサポートしました。

  * between() で、条件式の評価順序の最適化をサポートしました。

* [query_parallel_or]、[query] match_columns を vector で指定できるようにしました。

* [select] 前方一致検索でセクションと重みをサポートしました。

  前方一致検索でマルチカラムインデックスと、スコアーの調整ができます。

* [grndb] grndb recover で使用したオブジェクトを即時閉じるようにしました。

  これにより、メモリ消費を抑制できます。おそらくパフォーマンスは低下していますが、許容可能な低下です。
  grndb check はまだ、使用したオブジェクトを即時閉じないので注意してください。

* [query_parallel_or]、[query] match_columns に scorer_tf_idf を指定できるようにしました。

* [query_expand] 展開後の語の重みを操作できるようにしました。

  展開後の語に対して、重みを指定できます。
  スコアーを増やしたい場合は、 ``>`` を使います。スコアーを減らしたい場合は、 ``<`` を指定します。
  数字でスコアーの量を指定できます。負の数も指定できます。

* [httpd] バンドルしているnginxのバージョンを1.21.1に更新しました。

* バンドルしているApache Arrowを5.0.0に更新しました。

## 修正

* [query_parallel_or]、[query] query_options とその他のオプションを指定すると、
  その他のオプションが無視される問題を修正しました。

## 既知の問題

* 現在Groongaには、ベクターカラムに対してデータを大量に追加、削除、更新した際にデータが
  破損することがある問題があります。

* [ブラウザーベースの管理ツール] 現在Groongaには、レコード一覧の管理モードのチェックボックスに
  チェックを入れても、非管理モードに入力された検索クエリーが送信されるという問題があります。

* *< と *> は、filter条件の右辺に query() を使う時のみ有効です。
  もし、以下のように指定した場合、 *< と *> は && として機能します。

    * 'content @ "Groonga" *< content @ "Mroonga"'

* 多くのデータを削除し、同じデータを再度loadすることを繰り返すと、Groongaがヒットすべき
  レコードを返さないことがあります。



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