以下配置在PG9.2及以上版本使用,这些选项是用来控制字典加载行为和分词行为的,这些选项都不是必须的,默认都为false(即如果没有在配置文件中设置这些选项,则zhparser的行为与将下面的选项设置为false一致)。
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
http://www.xunsearch.com/scws/docs.php#libscws
8. `void scws_set_ignore(scws_t s, int yes)` 设定分词结果是否忽略所有的标点等特殊符号(不会忽略\r和\n)。
> **参数 yes** 1 表示忽略,0 表示不忽略,缺省情况为不忽略。
9. `void scws_set_multi(scws_t s, int mode)` 设定分词执行时是否执行针对长词复合切分。(例:“中国人”分为“中国”、“人”、“中国人”)。
> **参数 mode** 复合分词法的级别,缺省不复合分词。取值由下面几个常量异或组合:
>
> - SCWS_MULTI_SHORT 短词
> - SCWS_MULTI_DUALITY 二元(将相邻的2个单字组合成一个词)
> - SCWS_MULTI_ZMAIN 重要单字
> - SCWS_MULTI_ZALL 全部单字
10. `void scws_set_duality(scws_t s, int yes)` 设定是否将闲散文字自动以二字分词法聚合。
> **参数 yes** 如果为 1 表示执行二分聚合,0 表示不处理,缺省为 0。
digoal=> select to_tsvector('zhcfg','云安全部');
to_tsvector
-------------
'云安':1
(1 row)
digoal=> select to_tsvector('zhcfg','云 安全部');
to_tsvector
----------------------------
'云':1 '安全':3 '安全部':2
(1 row)
digoal=> set zhparser.multi_short=off;
SET
digoal=> select to_tsvector('zhcfg','网络安全部');
to_tsvector
---------------------
'安全部':2 '网络':1
(1 row)
digoal=> set zhparser.multi_short=on;
SET
digoal=> select to_tsvector('zhcfg','网络安全部');
to_tsvector
------------------------------
'安全':3 '安全部':2 '网络':1
(1 row)
影响索引zhparser的设置影响to_tsvector函数索引。
建议初始 zhparser.multi_short=on 设置为on。
或者设置用户级别或者数据库级别的参数。