當前位置:成語大全網 - 成語詞典 - 如何使用中文分詞和自定義中文分詞詞典

如何使用中文分詞和自定義中文分詞詞典

如何使用中文分詞和自定義中文分詞詞典

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

CREATE EXTENSION zhparser;

2.

3. CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);

4.

5. ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;

6.

7. --可選的參數設定

8. alter role all set zhparser.multi_short=on;

9.

10. ?--簡單測試

11. ?SELECT * FROM ts_parse('zhparser','hello world! 2010年保障房建設在全國範圍內獲全面啟動,從中央到地方紛紛加大了保障房的建設和投入力度。2011年,保障房進入了更大規模的建設階段。住房城鄉建設部黨組書記、部長姜偉新去年底在全國住房城鄉建設工作會議上表示,要繼續推進保障性安居工程建設。');

12. ?

13. ?SELECT to_tsvector('testzhcfg','“今年保障房新開工數量雖然有所下調,但實際的年度在建規模以及竣工規模會超以往年份,相對應的對資金的需求也會創歷史紀錄。”陳國強說。在他看來,與2011年相比,2012年的保障房建設在資金配套上的壓力將更為嚴峻。');

14. ?

15. ?SELECT to_tsquery('testzhcfg','保障房資金壓力');

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

--為T1表的name字段創建全文索引

2. create index idx_t1 on t1 using gin (to_tsvector('zhcfg',upper(name)));

3.

4. --使用全文索引

5. select*from t1 where to_tsvector('zhcfg',upper(t1.name))@@ to_tsquery('zhcfg','(防火)');

還可以使用自定義的中文分詞詞典,使用方法如下,註意自定義中文分詞詞典在內核小版本和之後的版本才支持。

--確實的分詞結果

2. SELECT to_tsquery('testzhcfg','保障房資金壓力');

3.

4. --往自定義分詞詞典裏面插入新的分詞

5. insert into pg_ts_custom_word values ('保障房資');

6.

7. --使新的分詞生效

8. select zhprs_sync_dict_xdb();

9.

10. ?--退出此連接

11. ?\c

12. ?

13. ?--重新查詢,可以得到新的分詞結果

14. ?SELECT to_tsquery('testzhcfg','保障房資金壓力');

使用自定義分詞的註意事項如下。

最多支持條自定義分詞,超出部分不做處理,用戶必須保證分詞數量在這個範圍之內。自定義分詞與缺省的分詞詞典將***同產生作用。

2. 每個詞的最大長度為128字節,超出部分將會截取。

3. 通過增刪改分詞之後必須執行selectzhprs_sync_dict_xdb();並且重新建立連接才會生效。