BloGroonga

2016-11-30

PGroonga (fast full text search module for PostgreSQL) 1.1.9 has been released

PGroonga (píːzí:lúnɡά) (fast full text search module for PostgreSQL) 1.1.9 has been released!

See PGroonga 1.0.0 release announce about PGroonga.

Benchmark

We have published benchmark result with Wikipedia data to the official site.

Here are compared modules:

  • textsearch in PostgreSQL
  • pg_trgm in contrib
  • pg_bigm - third party module

English Wikipedia data are used for textsearch and pg_trgm because they don't support Asian languages such as Japanese.

Japanese Wikipedia data are used for pg_bigm because it supports Asian languages such as Japanese.

PGroonga, textsearch and pg_trgm

This section describes about benchmark result summary with PGroonga, textsearch and pg_trgm. See PGroonga versus textsearch and pg_trgm for details.

Here is search time benchmark result.

pg_trgm is very slower than PGroonga and textsearch as the following. (Bar length means elapsed time in ms. It means that shorter bar means more faster.)

Search time by PGroonga textsearch and pg_trgm

Here is the graph without pg_trgm. PGroonga and textsearch have similar performance. "Groonga" is a case that search by Groonga directly by pgroonga.command function. Groonga is the full text search engine used by PGroonga. Groonga is 10x faster than PGroonga and textsearch.

Search time by PGroonga Groonga and textsearch

Here is index creation time benchmark.

PGroonga is the most fastest module as the following. PGroonga is about 2x faster than textsearch and about 30% faster than pg_trgm.

Index creation time by PGroonga, textsearch and pg_trgm

PGroonga and pg_bigm

This section describes about benchmark result summary with PGroonga and pg_bigm. See PGroonga versus pg_bigm for details.

Here is search time benchmark result.

pg_bigm is very slower than PGroonga when query contains 3 or more characters. (Bar length means elapsed time in ms. It means that shorter bar means more faster.)

Search time by PGroonga and pg_bigm

Here is index creation time benchmark.

PGroonga is about 75% faster than pg_bigm as the following.

Index creation time by PGroonga and pg_bigm

Changes

Here are changes since 1.1.1. We recommend you to upgrade to 1.1.9 because some search related problems are fixed and new features such as replication support and Zstandard support are implemented. See links in the list for details.

How to upgrade

This version is compatible with 1.1.1 or later. Upgrade by steps in "Compatible case" in Upgrade document.

Announce

There is PGroonga session in PGConf.ASIA 2016 DAY 2. In this session, not only difference between PGroonga and other modules but also how to implement replication by generic WAL API added since PostgreSQL 9.6 are described. The slide for the session has been published:

If you're interested in PGroonga, please go to the session.

Conclusion

New PGroonga version has been released.

Try PGroonga when you want to perform fast full text search against all languages on PostgreSQL!