これはPGroonga 1.X用のドキュメントです。新しいPGroongaを使っているならPGroonga 2.xのドキュメントを見てください。
PostgreSQLは組み込みのインデックスとしてGiSTとGINを提供しています。これらを使って英語のようにアルファベットと数字だけからなる言語用の全文検索を実現することができます。しかし、日本語や中国語などのような言語用の全文検索は実現することはできません。
PGroongaの重要な機能はすべての言語に対する全文検索機能です。PGroongaの機能はそれだけではありません。PGroongaは等価条件・比較条件で使える一般的な用途向けのインデックス機能も提供しています。PGroongaはGiST・GINより多くの機能を提供しています。そのため、GiST・GINの代わりにPGroongaを使うことができます。
このドキュメントはPGroonga・GiST・GINの違いを説明します。
PostgreSQLのドキュメントはGiSTとGINの特徴を説明しています。手短にまとめると次の通りです。GiSTの検索はGINよりも遅いですが、GiSTの更新はGINよりも速いです。GINはGiSTよりも多くのディスク領域を使います。
PGroongaの検索はGINよりも速く、更新はGiSTよりも速いです。しかし、PGroongaはGIN・GiSTよりも多くのディスク領域を使います。
これらの特徴をまとめたものが以下の表です。
インデックス | 検索 | 更新 | ディスク使用量 |
---|---|---|---|
GIN | 速い | 遅い | 多い |
GiST | 遅い | 速い | 少ない |
PGroonga | もっと速い | もっと速い | もっと多い |
PGroongとGINのパフォーマンスに関しては次のドキュメントを参照してください。