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 作為後端,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 搜尋。 您可以使用每個值作為條件。 您還可以對 JSON 中的所有文字執行全文檢索,就像 PostgreSQL 中的 textsearch 一樣。

變更

以下是 PGroonga 3.0.0 中的變更

  • 停止在 public schema 中定義與 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 的二進位檔案。

謝謝,