BloGroonga

2016-02-09

PGroonga(ぴーじーるんが) 1.0.2リリース

今日は年に一度の肉の日ですね!

PostgreSQLからGroongaを使えるようにするPGroongaの1.0.2をリリースしました!

新規ユーザーの方は、PGroonga 1.0.0のリリースアナウンスのPGroongaについても参照してください。

変更点

1.0.1からの変更点は次の通りです。

  • Groonga 5.1.2以降が必要になりました。Groonga 5.1.1以前はサポートしません。
  • [Windows] ベースとするPostgreSQLを9.4.5から9.5.0にアップグレードしました。
  • [Windows] バンドルするGroongaを5.1.2にアップグレードしました。
  • [Windows] mrubyを有効にしました。
  • [RPM] PostgreSQL 9.5をサポートしました。
  • [jsonb] シーケンシャルスキャンをサポートしました。
  • オペレータークラスpgroonga.text_full_text_search_ops_v2を追加しました。これは実験的なオペレータークラスです。 後方互換性が壊れる可能性がありますが、新しい機能が入っています。 現在サポートされているオペレーターは以下です。
    • LIKE
    • ILIKE
    • &@: pgroonga.text_full_text_search%%と同等。
    • &?: pgroonga.text_full_text_search@@と同等。
    • &@>: 右側の複数のテキストのどれかが&@によってtrueを返す場合、trueを返す。
    • &?>: 右側の複数のテキストのどれかが&?によってtrueを返す場合、trueを返す。
  • 複合主キーをサポートしました。
  • VACUUMANALYZEで有効なテーブルが削除される不具合を修正しました。この問題はREINDEXを使った後に起きていました。

アップグレード方法

1.0.1と互換性があります。アップグレードの「互換性がある場合」用の手順でアップグレードしてください。

新しいオペレータークラスと互換性について

PGroongaのバージョンが1系の間は基本的に互換性を維持します。

ただし、このリリースで追加したpgroonga.text_full_text_search_ops_v2のようにpgroonga.XXX_ops_v2というオペレータークラスを導入し、これらは基本的に非互換とします。 これらのオペレータークラスを使っている人は基本的にアップグレードに

  • インデックス削除
  • PGroonga削除
  • PGroongaアップグレード
  • PGroongaインストール
  • インデックス作成

をしてもらいます。

そして、PGroongaのバージョンが2系になるタイミングで非互換になります。 これは、pgroonga.XXX_ops_v2から最後の「_v2」がとれて既存のpgroonga.XXX_opsを置き換えるからです。

このときはすべてのユーザーが↑のようにアップグレードする必要があります。

新機能をオペレーター追加で実現しているうちは↑のように運用しようと思っています。落ち着いたらメジャーバージョンアップでもなるべく互換性を保つようにしようと思っています。

おしらせ

PGroongaだけでなく全文検索についても興味がある方は「Groongaで学ぶ全文検索」への参加もご検討ください。「Groongaで学ぶ全文検索」は予習・復習なしで全文検索を学ぶ、参加者に合わせて内容を決める、という限られた時間内でできるだけ実りある時間にしようというスタイルの勉強会です。全文検索を学びたい!という方はご活用ください。開催日程はDoorkeeperのGroongaコミュニティのページを参照してください。

まとめ

PGroongaの新しいリリースを紹介しました。

PostgreSQLで高速に日本語全文検索をしたいという方はPGroongaを使ってガンガン検索してください!