基本查了下網路,postgres的中文分詞大概有兩種方法:
其中的bamboo安裝和使用都比較複雜,所以我選擇的是zhparser
scws是簡易中文分詞系統的縮寫,它的原理其實很簡單,基於詞典,將文字中的內容按照詞典進行分詞,提取關鍵字等。github上的位址在這裡。它是xunsearch的核心分詞系統。
而zhparser是基於scws來做的postgres的擴充套件。
基本按照zhparser 中的步驟就可以了。
在postgres.conf中你可以設定下面的引數:
zhparser.punctuation_ignore = f
zhparser.seg_with_duality = f
zhparser.dict_in_memory = f
zhparser.multi_short = f
zhparser.multi_duality = f
zhparser.multi_zmain = f
zhparser.multi_zall = f
還可以設定自有詞典
zhparser.extra_dicts = 'dict_extra.txt,mydict.xdb'
雖然專案文件說用txt也是可以的,但是我自己嘗試過的時候,自有詞典只能使用xdb
按照文件說明
create extension zhparser;
create
text
search configuration testzhcfg (parser = zhparser);
alter
text
search configuration testzhcfg add
forn,v,a,i,e,l
with ******;
在這三步之後,你就建立了乙個testzhcfg的解析器
to_tsvector, to_tsquery 其實都是有第乙個引數的,第乙個引數表示解析器是什麼。比如你想要進行文字搜尋,可以使用下面的語句:
select
idfrom question_view
where to_tsvector('testzhcfg', content) @@ to_tsquery('testzhcfg', '寶馬') and
status = 1
order
byid
desc
這個語句是基於檢視question_view的 postgres中的中文分詞zhparser
基本查了下網路,postgres的中文分詞大概有兩種方法 其中的bamboo安裝和使用都比較複雜,所以我選擇的是zhparser scws是簡易中文分詞系統的縮寫,它的原理其實很簡單,基於詞典,將文字中的內容按照詞典進行分詞,提取關鍵字等。github上的位址在這裡。它是xunsearch的核心分詞...
postgres中的中文分詞zhparser
基本查了下網路,postgres的中文分詞大概有兩種方法 其中的bamboo安裝和使用都比較複雜,所以我選擇的是zhparser scws是簡易中文分詞系統的縮寫,它的原理其實很簡單,基於詞典,將文字中的內容按照詞典進行分詞,提取關鍵字等。github上的位址在這裡。它是xunsearch的核心分詞...
中文分詞的方法
中文分詞主要有兩個類別 本別是基於字詞典分詞演算法和基於統計的機器學習演算法,下面依次介紹這兩種方法。也稱字串匹配分詞演算法。該演算法是按照一定的策略將待匹配的字串和乙個已建立好的 充分大的 詞典中的詞進行匹配,若找到某個詞條,則說明匹配成功,識別了該詞。常見的基於詞典的分詞演算法分為以下幾種 正向...