雲原生資料倉儲AnalyticDB PostgreSQL版支援使用pg_jieba外掛程式對中文文本進行分詞,從而實現高效的中文全文檢索索引。
pg_jieba簡介
Jieba(結巴)是目前比較流行的中文分詞庫之一,能夠準確地識別中文語句中的單詞,對中文語句進行分詞。pg_jieba外掛程式將Jieba的分詞能力引入到PostgreSQL資料庫中,使得PostgreSQL能夠更有效地進行中文全文檢索索引。AnalyticDB for PostgreSQL支援在分散式查詢中使用pg_jieba外掛程式。
前提條件
同時滿足以下條件的執行個體支援pg_jieba外掛程式:
執行個體資源類型為儲存彈性模式。
引擎版本為6.0時,小版本需要為V6.6.2.1及以上;引擎版本為7.0時,小版本需要為V7.0.5及以上。
說明如何查看執行個體核心版本,請參見查看核心小版本。
安裝pg_jieba外掛程式
安裝外掛程式:使用Jieba中文分詞庫之前,您需要在AnalyticDB for PostgreSQL執行個體外掛程式管理中安裝pg_jieba外掛程式。具體操作,請參見安裝、升級與卸載外掛程式。
檢查外掛程式是否安裝成功:切換到指定資料庫的public模式下,執行如下命令。
SELECT * FROM pg_extension WHERE extname = 'pg_jieba';
返回如下結果,表示pg_jieba外掛程式已成功安裝。如未返回結果,表示指定資料庫的public模式下沒有安裝pg_jieba外掛程式。
+--------+--------+--------+--------+ |oid |extname |extowner|... | +--------+--------+--------+--------+ |17194 |pg_jieba|10. |... | +--------+--------+--------+--------+
中文分詞檢索
安裝外掛程式後,即可開始使用預設分詞配置進行中文分詞查詢。
樣本1:
SELECT to_tsvector('jiebacfg', '有兩種方法進行全文檢索索引');
返回結果如下。
+---------------------------------------+
| to_tsvector |
+---------------------------------------+
|'兩種':2 '全文檢索索引':5 '方法':3 '進行':4 |
+---------------------------------------+
(1 row)
樣本2:
SELECT to_tsvector('jiebacfg', '有兩種方法進行全文檢索索引') @@ to_tsquery('jiebacfg', '全文檢索索引');
+----------+
| ?column? |
+----------+
| t |
+----------+
(1 row)
自訂字典
AnalyticDB for PostgreSQL的pg_jieba外掛程式支援自訂字典。通過向自訂字典表jieba.jieba_custom_word
寫入或刪除資料,實現添加或刪除自訂詞。
您無需手動建立詞典表。安裝pg_jieba外掛程式時,系統會自動建立詞典表
jieba.jieba_custom_word
。詞典表
jieba.jieba_custom_word
的表結構如下:CREATE TABLE jieba.jieba_custom_word ( word text primary key, -- 自訂詞 weight float8 default '1.0', -- 權重 type text default 'x' -- 詞性 );
申請許可權
提交工單,在工單中申請自訂字典的使用許可權。完成申請後,您可以向自訂字典中添加詞、刪除詞和查詢詞,並使用自訂字典進行分詞檢索。添加自訂詞
INSERT INTO jieba.jieba_custom_word values('兩種方法');
刪除自訂詞
DELETE FROM jieba.jieba_custom_word WHERE word='兩種方法';
查詢自訂字典表
SELECT * FROM jieba.jieba_custom_word;
載入自訂字典表
在添加或刪除詞之後,需要重新載入自訂字典表,新的自訂字典表才會生效。重新載入自訂字典表的命令如下。
SELECT jieba.jieba_load_user_dict();
自訂分詞的檢索效果
在配置自訂字典表前後,分別執行樣本語句,驗證分詞結果。樣本語句如下。
SELECT to_tsvector('jiebacfg', '有兩種方法進行全文檢索索引');
返回結果如下。
情境 | 未配置自訂字典表 | 在詞典表中添加詞“兩種方法” |
分詞檢索效果 |
|
|
相關文檔
全文檢索索引總體介紹,請參見
全文檢索索引。全文檢索索引函數和操作符,請參見
文本檢索函數和操作符。