PGroonga 3.2.1 - 多語言快速全文檢索

發表於 2024-07-10,由 PGroonga 專案
相關開源

您好,

PGroonga 3.2.1 已經發布!

此版本新增了對 WAL 資源管理器的支援!

透過 WAL 資源管理器支援,您可以解決 PGroonga < 3.2.1 中一般 WAL 方法的以下問題:

  • 您需要手動移除舊的 WAL,以避免無限的儲存空間使用
  • 您需要使用額外的機制在背景中應用 WAL
  • 您需要在 PostgreSQL 啟動後從崩潰中恢復

另請參閱以下文件,了解如何使用此功能:透過 WAL 資源管理器進行串流複製

請注意,您需要 PostgreSQL 15 或更高版本,因為這是基於自定義 WAL 資源管理器功能,該功能自 PostgreSQL 15 起可用。

如果您對如何實作 WAL 資源管理器感興趣,另請參閱以下博文

日文:如何實作 PGroonga 的 WAL 資源管理器

英文:該文章的 Google 翻譯

關於 PGroonga

PGroonga 是一個 PostgreSQL 擴展,可讓 PostgreSQL 成為適用於所有語言的快速全文檢索平台! 它在 PostgreSQL 許可證下發布。

有一些 PostgreSQL 擴展可以改進 PostgreSQL 的全文檢索功能,例如 pg_trgm^1

pg_trgm 不支援使用非字母數字字符的語言,例如日文和中文。

PGroonga 支援所有語言,提供豐富的全文檢索相關功能,並且速度非常快。 因為 PGroonga 使用 Groonga^2,Groonga 是一個成熟的全文檢索引擎作為後端。

請參閱以下基準測試結果以了解效能

  • 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 中的 textsearch 一樣,對 JSON 中的所有文本執行全文檢索。

變更

以下是 PGroonga 3.2.1 的重點

  • 新增了對 WAL 資源管理器的支援
  • 新增了使用 ALTER EXTENSION ... UPDATE 降級的支援
  • 新增了對 Ubuntu 24.04 (Noble Numbat) 的支援
  • 新增了對容錯字元搜尋的支援
  • 修復了一些崩潰錯誤

另請參閱 3.2.1 發布說明 以了解完整變更。

用法

您可以在沒有全文檢索知識的情況下使用 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 的二進制文件。

謝謝,