[pgsql-jp: 41953] PGroonga 1.2.3 - 高速日本語全文検索機能を提供する拡張機能
Kouhei Sutou
kou @ clear-code.com
2017年 7月 24日 (月) 16:34:06 JST
須藤です。
PostgreSQLからGroonga(*)を使うための拡張機能、
PGroonga(ぴーじーるんが)1.2.3をリリースしていました!
PGroongaを使うと高速な日本語全文検索機能を使うことができます。
http://groonga.org/ja/blog/2017/07/03/pgroonga-1.2.3.html
(*) 国産の全文検索エンジン: http://groonga.org/ja/
1.0以降のすべてのリリースと互換性があるので以下の手順で簡単
にアップグレードできます。
https://pgroonga.github.io/ja/upgrade/#compatible-case
今回の主な変更点は次の通りです。詳細は↑のリンクを参照してく
ださい。
* PHPから使いやすくした
* PHPのPostgreSQLのクライアントライブラリーでは「?」を含
む演算子をうまく扱えないことがわかったので、クエリー言
語対応の全文検索演算子は「&@~」にしました。
* クエリー展開機能をサポート
* 同義語展開(*)の実現にも使える機能です。
(*) 表記が異なっても同じ意味ならヒットする検索。たとえ
ば、「PostgreSQL」でも「Postgres」でも「PG」でも
「PostgreSQL」がヒットする。
* クエリー展開ルールは通常のテーブルで管理するので、管理
しやすいです。
* textsearchの専用の仕組みなので通常のデータと異なる仕
組みで管理しないといけません。
* https://pgroonga.github.io/ja/reference/functions/pgroonga-query-expand.html
* 入力補完機能をサポート
* 日本語を使う人には嬉しい機能としてローマ字での入力補完
もサポートしています。
* 「to」で「東京」を補完できます。
* https://pgroonga.github.io/ja/how-to/auto-complete.html
* 類似文書検索をサポート
* ブログシステムなどで「関連エントリー」機能を実装に使え
ます。
* https://pgroonga.github.io/ja/reference/operators/similar-search-v2.html
* 日本語文書の場合はTokenMecabを使った方がよい、という
情報は一番最後に書いているので日本語文書を扱う場合は
最後まで読んでから使ってください。
* jsonbの全文検索の使い勝手を向上
* JSON内の全テキストをもっと簡単に全文検索できるようにな
りました。
* https://pgroonga.github.io/ja/reference/operators/query-jsonb-v2.html
変更点の一覧は以下にあります。
https://pgroonga.github.io/ja/news/#version-1-2-3
最後におしらせです。
8月1日(火)14:00-16:00にMySQL・PostgreSQL上で動かす全文検索
エンジン「Groonga」セミナーを開催します。PGroongaの導入を検
討している方はこの機会を活用してください。
空き枠はあと9人分だけです。
https://groonga.doorkeeper.jp/events/62741
あと、まだイベントページはできていないのですが、(たぶん)
JPUG後援という形で、Zulip(*)というOSSのチャットツールのイベ
ントが9月6日の夜に開催される予定です。Zulipはデータストアと
してPostgreSQLを使っています。
(イベントページができたらまたお知らせします。)
(*) https://zulip.org/
レスポンスを速くするために全文検索インデックスの更新を遅延さ
せたり、その実現のためにLISTEN(*)を使っていたり、なかなかお
もしろいPostgreSQLの使い方をしています。
(*) https://www.postgresql.org/docs/9.6/static/sql-listen.html
Zulipは全文検索機能にPGroongaも使えるようになっています。
https://zulip.readthedocs.io/en/latest/full-text-search.html?highlight=pgroonga
OSSのチャットツールを探していた方は、PostgreSQLを使ったチャッ
トツールを検討してみてはいかがでしょうか。
それでは、PGroongaを使ってPostgreSQLをもっと活用していきましょう!
pgsql-jp メーリングリストの案内