Hi,

PGroonga 4.0.4 has been released!

### Changes

Here are highlights of PGroonga 4.0.4:

#### Support PostgreSQL 18

On PostgreSQL 18 and later, PostgreSQL's planner can recognize PGroonga as an 
ordered index.
PGroonga can return filtered and already-sorted records to PostgreSQL for 
queries like
WHERE ... ORDER BY ... LIMIT. This improvement may improve the response time 
when many rows match.

On PostgreSQL 17 or earlier, PostgreSQL sort results even if results are sorted 
in PGroonga index.
Starting with this release on PostgreSQL 18+, PostgreSQL skips that extra sort 
when PGroonga provides sorted output.
Therefore, PGroonga can return results more efficiently.

In addition, we now provide PGroonga packages for Debian GNU/Linux trixie and 
AlmaLinux 10.
This makes it easy to use the latest PostgreSQL with the latest PGroonga on the 
latest OS versions.


See the following release note URL for details:

  * https://pgroonga.github.io/news/index.html#version-4-0-4

### [About PGroonga](https://pgroonga.github.io/)

PGroonga is a PostgreSQL extension that makes PostgreSQL
full text search platform for all languages!
You can use super fast full text search feature with zero ETL against
all languages by installing PGroonga into your PostgreSQL!
It's released under PostgreSQL license.


There are some PostgreSQL extensions that improve 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-alphanumeric
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.

### Usage

You can use PGroonga without full text search knowledge. You
just create an index and add 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.

### Users

Here are PGroonga users:

  * Zulip: https://zulip.com/
    * Powerful open source group chat

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

Thanks,

Reply via email to