title |
---|
PGroonga versus GiST and GIN |
PostgreSQL provides GiST and GIN as bundled indexes. You can use them for full text search against languages that use only alphabet and digit such as English. You can't use them for full text search against Japanese, Chinese and so on.
PGroonga's main feature is fast full text search against all languages. But PGroonga also provides general purpose index features for equality condition and comparison conditions. PGroonga provides more features rather than GiST and GIN. So you can use PGroonga as alternative of GiST and GIN.
This document describes the differences between PGroonga, GiST and GIN.
[PostgreSQL document describes the characteristics of GiST and GIN]({{ site.postgresql_doc_base_url.en }}/textsearch-indexes.html). In short, searching by GiST is slower than searching by GIN but updating GiST is faster than updating GIN. GIN uses more disk space than GiST.
Searching by PGroonga is faster than GIN and updating PGroonga is faster than GiST. But PGroonga uses more disk space than GIN and GiST.
Here is a table that shows the above characteristics:
Index | Search | Update | Disk usage |
---|---|---|---|
GIN | Fast | Slow | Large |
GiST | Slow | Fast | Small |
PGroonga | Fastest | Fastest | Largest |
See the following documents for PGroonga and GIN performance: