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

发布于 2023-04-15 由 PGroonga 项目
相关开源

您好,

PGroonga 3.0.0 已发布!

注意:如果您是 PGroonga 1.Y.Z 用户,PGroonga 3.0.0 有不兼容的更改!如果您是 PGroonga 2.Y.Z 用户,PGroonga 3.0.0 没有不兼容的更改。:-)

另请参阅发布公告博客文章:https://groonga.org/en/blog/2023/04/13/pgroonga-3.0.0.html

关于 PGroonga

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

有一些 PostgreSQL 扩展可以改进 PostgreSQL 的全文搜索功能,例如 pg_trgm^1

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

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

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

  • 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 搜索。您可以将每个值用作条件。您还可以对 JSON 中的所有文本执行全文搜索,就像 PostgreSQL 中的 textsearch 一样。

变更

以下是 PGroonga 3.0.0 中的变更

  • 停止向 public 模式定义 PGroonga 1.Y.Z 兼容的运算符。
  • pgroonga_query_extract_keywords() 函数中添加了对 query_allow_column=true 索引选项的支持。
  • 添加了对 text[]varchar[] 的查询语法的支持。

用法

您可以在没有全文搜索知识的情况下使用 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 的所有功能。

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

谢谢,