PGroonga 3.2.4 - 多语言快速全文搜索

由 PGroonga 项目发布于 2024-10-05
相关开源项目

您好,

PGroonga 3.2.4 已经发布!

此版本增加了对 PostgreSQL 17 的支持!

我们现在可以在以下操作系统上使用 PostgreSQL 17 的 PGroonga!

  • 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

关于 PGroonga

https://pgroonga.github.io/

PGroonga 是一个 PostgreSQL 扩展,它使 PostgreSQL 成为所有语言的快速全文搜索平台!它在 PostgreSQL 许可证下发布。

有一些 PostgreSQL 扩展改进了 PostgreSQL 的全文搜索功能,例如 pg_trgm(*1)。

(*1)https://postgresql.ac.cn/docs/current/pgtrgm.html

pg_trgm 不支持使用非字母数字字符的语言,例如日语和中文。

PGroonga 支持所有语言,提供丰富的全文搜索相关功能,并且速度非常快。因为 PGroonga 使用了 Groonga(*2) 作为后端,它是一个成熟的全文搜索引擎。

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

请参阅以下性能基准测试结果

  • PGroonga、textsearch 和 pg_trgm 对比英文维基百科的基准测试结果 - https://pgroonga.github.io/reference/pgroonga-versus-textsearch-and-pg-trgm.html
  • PGroonga 和 pg_bigm 对比日文维基百科的基准测试结果 - https://pgroonga.github.io/reference/pgroonga-versus-pg-bigm.html

PGroonga 还支持 JSON 搜索。您可以将每个值用于条件。您还可以像 PostgreSQL 10 中的 textsearch 一样,对 JSON 中的所有文本执行全文搜索。

用户

以下是 PGroonga 的用户

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

用法

您可以在没有全文搜索知识的情况下使用 PGroonga。您只需创建一个索引并将条件放入 WHERE 子句中

CREATE INDEX index_name ON table USING pgroonga (column);

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

您也可以使用 LIKE 来使用 PGroonga。PGroonga 提供了一种使用索引执行 LIKE 的功能。带有 PGroonga 索引的 LIKE 比没有索引的 LIKE 快。这意味着您可以在不更改使用以下 SQL 的应用程序的情况下提高性能

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

您对 PGroonga 感兴趣吗?请安装(*4) 并尝试教程(*5)。您可以了解 PGroonga 的所有功能。

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

您可以轻松安装 PGroonga。因为 PGroonga 为主要平台提供了软件包。有 Windows 二进制文件。

谢谢,