postgres中的中文分词zhparser
生活随笔
收集整理的這篇文章主要介紹了
postgres中的中文分词zhparser
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
postgres中的中文分詞zhparser
2015-04-09 10:32 by 軒脈刃, ... 閱讀, ... 評論, 收藏, 編輯postgres中的中文分詞zhparser
postgres中的中文分詞方法
基本查了下網(wǎng)絡(luò),postgres的中文分詞大概有兩種方法:
- Bamboo
- zhparser
其中的Bamboo安裝和使用都比較復(fù)雜,所以我選擇的是zhparser
zhparse基于scws
scws是簡易中文分詞系統(tǒng)的縮寫,它的原理其實很簡單,基于詞典,將文本中的內(nèi)容按照詞典進(jìn)行分詞,提取關(guān)鍵字等。github上的地址在這里。它是xunsearch的核心分詞系統(tǒng)。
而zhparser是基于scws來做的postgres的擴展。
安裝
基本按照zhparser 中的步驟就可以了。
使用
在postgres.conf中你可以設(shè)置下面的參數(shù):
zhparser.punctuation_ignore = fzhparser.seg_with_duality = fzhparser.dict_in_memory = fzhparser.multi_short = fzhparser.multi_duality = fzhparser.multi_zmain = fzhparser.multi_zall = f還可以設(shè)置自有詞典
zhparser.extra_dicts = 'dict_extra.txt,mydict.xdb'雖然項目文檔說用txt也是可以的,但是我自己嘗試過的時候,自有詞典只能使用xdb
sql使用
按照文檔說明
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;在這三步之后,你就創(chuàng)建了一個testzhcfg的解析器
to_tsvector, to_tsquery 其實都是有第一個參數(shù)的,第一個參數(shù)表示解析器是什么。比如你想要進(jìn)行文本搜索,可以使用下面的語句:
SELECT id FROM question_viewWHERE to_tsvector('testzhcfg', content) @@ to_tsquery('testzhcfg', '寶馬') AND status = 1 ORDER BY id DESC這個語句是基于視圖question_view的
總結(jié)
以上是生活随笔為你收集整理的postgres中的中文分词zhparser的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MQTT断线重连及订阅消息恢复
- 下一篇: Taylor Swift looks s