日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

中文分詞(zhparser)

RDS PostgreSQL支持zhparser插件,用于中文的全文檢索。

前提條件

  • 實例大版本為RDS PostgreSQL 10或以上版本。

  • 實例內核小版本為20230830或以上。

    重要

    20230830內核小版本之前已支持此插件,但為了規范插件管理,提升RDS PostgreSQL在插件側的安全防護,RDS計劃在內核版本迭代中陸續對部分存在安全風險的插件進行優化,部分插件在低內核小版本無法創建,更多信息,請參見【產品/功能變更】RDS PostgreSQL限制創建插件說明

    • 如果您在20230830內核小版前已經使用了此插件,則不影響使用。

    • 如果您首次創建或重新創建此插件,請升級內核小版本到最新。

  • 使用該插件前,需要將zhparser加入到shared_preload_libraries參數中。

    您可以使用RDS PostgreSQL參數設置功能,為shared_preload_libraries參數添加zhparser。具體操作,請參見設置實例參數。

背景信息

PostgreSQL自帶的parser插件適用于分詞比較簡單的語言(如英語),按照標點、空格切分語句即可獲得有含義的詞語,而中文比較復雜,詞語之間沒有空格分隔,長度也不固定,分詞還和語義有關,因此parser不能用來做中文分詞,建議您使用zhparser。

zhparser是PostgreSQL的中文分詞插件,安裝后可以使PostgreSQL支持中文的全文檢索(Full Text Search)。

啟用中文分詞

可以使用下面的命令,啟用中文分詞:

CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;
--可選的參數設定
ALTER ROLE CURRENT_ROLE SET zhparser.multi_short=on;
--簡單測試
SELECT * FROM ts_parse('zhparser', 'hello world! 2010年保障房建設在全國范圍內獲全面啟動,從中央到地方紛紛加大 了 保 障 房 的 建 設 和 投 入 力 度 。2011年,保障房進入了更大規模的建設階段。住房城鄉建設部黨組書記、部長姜偉新去年底在全國住房城鄉建設工作會議上表示,要繼續推進保障性安居工程建設。');
SELECT to_tsvector('testzhcfg','“今年保障房新開工數量雖然有所下調,但實際的年度在建規模以及竣工規模會超以往年份,相對應的對資金的需求也會創歷史紀錄?!标悋鴱娬f。在他看來,與2011年相比,2012年的保障房建設在資金配套上的壓力將更為嚴峻。');
SELECT to_tsquery('testzhcfg', '保障房資金壓力');

利用分詞進行全文索引的方法如下:

--為t1表的name字段創建全文索引,需要將SQL語句中的表名(t1)和字段(name)替換為實際業務中的表名和字段值。
CREATE index idx_t1 ON t1 using gin (to_tsvector('testzhcfg',upper(name) ));
--使用全文索引
 SELECT * FROM t1 WHERE to_tsvector('testzhcfg',upper(t1.name)) @@ to_tsquery('testzhcfg','(防火)') ;

自定義中文分詞詞典

自定義中文分詞詞典,示例如下:

-- 初始的分詞結果
SELECT to_tsquery('testzhcfg', '保障房資金壓力');
-- 往自定義分詞詞典里面插入新的分詞
insert into pg_ts_custom_word values ('保障房資');
-- 使新的分詞生效
select zhprs_sync_dict_xdb();
-- 退出此連接
\c
-- 重新查詢,可以得到新的分詞結果
SELECT to_tsquery('testzhcfg', '保障房資金壓力');
使用自定義分詞的注意事項如下:
  • 最多支持一百萬條自定義分詞,超出部分不做處理,必須保證分詞數量在這個范圍之內。自定義分詞與缺省的分詞詞典將共同產生作用。
  • 每個詞的最大長度為128字節,超出部分將會截取。
  • 增刪改分詞之后必須執行select zhprs_sync_dict_xdb();并且重新建立連接才會生效。