PostgreSQL中英文混合分詞特殊規則(中文單字、英文單詞)-中英分明
標籤
PostgreSQL , 正規表示式 , 分詞 , 拆分
背景
某個業務系統有一個這樣的要求:
分詞後,要求,英文以單詞形式出現,中文(多位元組字元)以單字元形式出現。
這樣的需求,需要如何來實現呢?
自定義分詞規則UDF
切詞的一些隱含引數,請參考:
《使用阿里雲PostgreSQL zhparser時不可不知的幾個引數》
要出現單字,我們需要這樣來設定,對於多位元組字元,設定單切。
postgres=# set zhparser.multi_zall=on;
postgres=# SELECT array_to_tsvector(array_agg(token)) from ts_debug(`testzhcfg`, `保障房資金壓力 hello digoal`)
where (char_length(token)=1 and octet_length(token)<>1 ) or (char_length(token)=octet_length(token));
array_to_tsvector
-----------------------------------------------------
`digoal` `hello` `保` `力` `壓` `房` `資` `金` `障`
(1 row)
以上滿足業務需求,中文按字,英文按分詞。
下面我們寫一個UDF,編譯使用。
create or replace function udf_to_tsvector(regconfig,text) returns tsvector as $$
SELECT array_to_tsvector(array_agg(token)) from ts_debug($1, $2)
where (char_length(token)=1 and octet_length(token)<>1 ) or (char_length(token)=octet_length(token));
$$ language sql strict immutable;
測試,滿足業務需求
postgres=# select udf_to_tsvector(`testzhcfg`, `保障房資金壓力 hello digoal`);
udf_to_tsvector
-----------------------------------------------------
`digoal` `hello` `保` `力` `壓` `房` `資` `金` `障`
(1 row)
相關文章
- Oracle App培訓筆記(9) -- 成本管理模組中英文單詞對照OracleAPP筆記
- 搜狗切換中英文新增細胞詞庫
- python拆分中英文混合字串 - 按中文拆分Python字串
- php 擷取中英文混合字串PHP字串
- 用幾十行程式碼實現python中英文分詞行程Python分詞
- NLP自然語言處理中英文分詞工具集錦與基本使用介紹自然語言處理分詞
- C語言英文單詞C語言
- SQL 操作指令 英文單詞SQL
- Linux英文單詞縮寫Linux
- paip.語義分析--分詞--常見的單音節字詞 2_deDuli 單字詞 774個AI分詞
- 一文看懂NLP裡的分詞(中英文區別+3 大難點+3 種典型方法)分詞
- 中英文切換導航選單實現詳解
- 中文分詞工具之基於字標註法的分詞中文分詞
- 前端中英文互譯前端
- ITIL中英文對照
- 中文分詞研究難點-詞語劃分和語言規範中文分詞
- Go 語言高效分詞, 支援英文、中文、日文等Go分詞
- 滑鼠懸浮中英文切換橫向導航選單
- jQuery擷取字串外掛區分中英文jQuery字串
- 簡單有效的多標準中文分詞詳解中文分詞
- 單詞
- #Elasticsearch中文分詞器 #IK分詞器 @FDDLCElasticsearch中文分詞
- 雙向最大匹配演算法——基於詞典規則的中文分詞(Java實現)演算法中文分詞Java
- sql developer中英文切換SQLDeveloper
- leedcode-單詞規律
- 微軟Windows 10系統終於合併開始選單中英文分組導航微軟Windows
- JavaScript計算字串的長度區分中英文JavaScript字串
- 單詞小卡片 -- 從單詞、例句收集到命令式背單詞
- Python分詞模組推薦:jieba中文分詞PythonJieba中文分詞
- 用Python寫一個簡單的中文分詞器Python中文分詞
- 中文分詞原理及常用Python中文分詞庫介紹中文分詞Python
- CSS命名規範及網站常用中英文對照表CSS網站
- 中文分詞技術中文分詞
- AI術語中英文對照AI
- 處理中英文的函式函式
- DELL BIOS 中英文對照表iOS
- LeetCode-單詞規律LeetCode
- java 英文單詞拼寫糾正框架(Word Checker)Java框架