PGroonga 3.2.1 - Multilingual fast full text search

From: PGroonga project via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org>
Subject: PGroonga 3.2.1 - Multilingual fast full text search
Date: 2024-07-10 12:23:38
Message-ID: 172061421821.736592.6916114347262795288@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

Hi,

PGroonga 3.2.1 has been released!

This release adds support for WAL resource manager!

With the WAL resource manager support, you can solve the
following problems with the general WAL approach in PGroonga < 3.2.1:

* You need to remove old WAL manually to avoid unlimited storage usage
* You need to use additional mechanism to apply WAL in background
* You need to recover from a crash after PostgreSQL started

See also the following document how to use this feature:
[Streaming replication by WAL resource manager](https://pgroonga.github.io/reference/streaming-replication-wal-resource-manager.html)

Note that you need PostgreSQL 15 or later because this is based on
custom WAL resource manager feature that is available since PostgreSQL 15.

If you're interesting in how to implement the WAL resource manager,
see also the following blog post:

Japanese:
[How to implement the PGroonga's WAL resource manager](https://www.clear-code.com/blog/2024/7/5/pgroonga-custom-wal-resource-manager.html)

English:
[Google Translate of the post](https://www-clear--code-com.translate.goog/blog/2024/7/5/pgroonga-custom-wal-resource-manager.html?_x_tr_sl=ja&_x_tr_tl=en&_x_tr_hl=ja&_x_tr_pto=wapp)

### About PGroonga

[PGroonga](https://pgroonga.github.io/) 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/static/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.

### Changes

Here are highlights in PGroonga 3.2.1:

* Added support for WAL resource manager
* Added support for downgrading by using `ALTER EXTENSION ... UPDATE`
* Added support for Ubuntu 24.04 (Noble Numbat)
* Added support for typo-tolerance search
* Fixed some crash bugs

See also [the 3.2.1 release note](https://pgroonga.github.io/news/#version-3-2-1)
for full changes.

### 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,

Browse pgsql-announce by date

  From Date Subject
Next Message PostgreSQL Europe via PostgreSQL Announce 2024-07-16 18:42:02 PGDay UK 2024 - Schedule published
Previous Message HexaCluster via PostgreSQL Announce 2024-07-10 12:22:37 Ora2Pg Support - Chatbot and Converter, have been Released !