Japan
サイト内の現在位置
PostgreSQL
周辺OSSツール紹介
pg_bigm 機能概要
pg_bigmは、PostgreSQL本体では用意されていない日本語環境下での全文検索機能を提供するツールです。本ツールを使うことで、全文検索用のインデックスを作成でき、高速に文字列検索を行えるようになります。このツールは、2-gram(バイグラム)と呼ばれる方法で、文字列から全文検索用のインデックスを作成します。
PostgreSQLには pg_trgmという3-gram(トライグラム)の全文検索モジュールがcontribに付属されていますが、 日本語の検索には適していません。
pg_bigmは pg_trgmをベースに開発されており、日本語検索も高速に実行 できます。
pg_trgm と pg_bigm の違いの詳細については以下をご参照ください。
<https://pgbigm.osdn.jp/pg_bigm-1-2.html#pg_trgm>

全文検索(2文字)の例:SELECT * FROM table_name WHERE column_name LIKE ‘%東京%’
pg_bigmの日本語検索を検証
pg_bigm は検索キーワード2文字以下での全文検索で高速なツールです。
実際に、インデックスなし、pg_trgmインデックスあり、pg_bigmインデックスありで日本語2文字の性能検証を行ったところ、 pg_bigmインデックスありの場合で極めて良好な結果が得られました。
・検索対象データ
日本語版Wikipediaのタイトル一覧データ (レコード件数:約380万件、TBLサイズ:約203MB)
・検証内容 全文検索用のインデックスを使用して、LIKE演算子の中間一致検索により全文検索を実行
・測定結果 (日本語2文字検索を5回測定した平均値) (1) インデックスなし | 692.018ms |
(2) pg_trgmインデックスあり | 724.163ms |
(3) pg_bigmインデックスあり | 5.049ms |
お問い合わせ