PGroonga 3.2.4 - Multilingual fast full text search

Posted on 2024-10-05 by PGroonga project
Related Open Source

Hi,

PGroonga 3.2.4 has been released!

This release adds support for PostgreSQL 17!

We can use PGroonga with PostgreSQL 17 on the below OSes now!

  • AlmaLinux 8
  • AlmaLinux 9
  • Debian 12 (bookworm)
  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 24.04 (Noble Numbat)
  • macOS
  • Microsoft Windows

About PGroonga

https://pgroonga.github.io/

PGroonga is a PostgreSQL extension that makes PostgreSQL fast full text search platform for all languages! It's released under PostgreSQL license.

There are some PostgreSQL extensions that improves full text search feature of PostgreSQL such as pg_trgm(*1).

(*1) https://www.postgresql.org/docs/current/pgtrgm.html

pg_trgm doesn't support languages that use non-alphanumerics characters such as Japanese and Chinese.

PGroonga supports all languages, provides rich full text search related features and is very fast. Because PGroonga uses Groonga(*2) that is a full-fledged full text search engine as backend.

(*2) https://groonga.org/

See the following benchmark results for performance:

  • Benchmark result for PGroonga, textsearch and pg_trgm with English Wikipedia - https://pgroonga.github.io/reference/pgroonga-versus-textsearch-and-pg-trgm.html
  • Benchmark result for PGroonga and pg_bigm with Japanese Wikipedia - https://pgroonga.github.io/reference/pgroonga-versus-pg-bigm.html

PGroonga also supports JSON search. You can use each value for condition. You can also perform full text search against all texts in JSON like textsearch in PostgreSQL 10 does.

Users

Here are PGroonga users:

  • https://pgroonga.github.io/users/

Usage

You can use PGroonga without full text search knowledge. You just create an index and puts a condition into WHERE:

CREATE INDEX index_name ON table USING pgroonga (column);

SELECT * FROM table WHERE column &@~ 'PostgreSQL';

You can also use LIKE to use PGroonga. PGroonga provides a feature that performs LIKE with index. LIKE with PGroonga index is faster than LIKE without index. It means that you can improve performance without changing your application that uses the following SQL:

SELECT * FROM table WHERE column LIKE '%PostgreSQL%';

Are you interested in PGroonga? Please install(4) and try tutorial(5). You can know all PGroonga features.

(4) https://pgroonga.github.io/install/ (5) https://pgroonga.github.io/tutorial/

You can install PGroonga easily. Because PGroonga provides packages for major platforms. There are binaries for Windows.

Thanks,