void scws_set_multi(scws_t s, int mode); 描述:设定分词执行时是否执行针对长词复合切分。(例如:中国人->中国+人+中国人)。参数 mode 表示复合分词法的级别,取值为 1 ~ 15。mode 设定值,1~15。[b]按位与[/b]的 1|2|4|8 依次表示 短词|二...
en文档可能标注错了,从PHP或CLI的帮助复制过来的,因为那边在使用时对 1~15 的值进行了左移12bit~ 所以C函数的说明不应当是1|2|4|8 而是宏定义中的 #define SCWS_MULTI_SHORT 0x01000 #define SCWS_MULTI_DUALITY 0x02000 #define SCWS_MULTI_ZMAIN 0x04000 #def...
scws_set_multi复式分割不起作用,同样的windows .dll测试是可以正常的。 以下是测试代码,是在你的文档例子代码上加入了 scws_set_multi(s , 1); [code] #include #include main() { scws_t s; scws_res_t res, cur; char *text = "上海市"; if (!(s = scws_new())...
...USE_RULE; + + if (yes == SCWS_NA) + s->mode &= ~SCWS_USE_RULE; +} + void scws_set_multi(scws_t s, int mode) { s->mode &= ~SCWS_MULTI_MASK; @@ -1135,6 +1148,11 @@ ch = txt[off]; if (ch mode & SCWS_USE_RULE)) + { + if (!(pflag & PFLAG_WITH_MB)) { // pure single-byte -> multibyt...
想配置下scws_set_multi()这个函数,但是不知道xunsearch在哪里调用scws的代码,请问下xunsearch在哪里调用?
我看了一下scws_set_multi,似乎不能解决我得问题。我再描述一下,打个比方,我要切分一段有200个汉字的字符串,但是返回的分词数组只包含了前100个汉字的词。[hr] 我还是把代码贴出来吧。 从返回的分词数组可以看出来...
... exit(-1); } scws_set_charset(s, "gbk"); scws_set_multi(s, 1); scws_set_dict(s, "/usr/local/etc/dict_chs_gbk.xdb", SCWS_XDICT_MEM); scws_set_rule(s, "/usr/local/etc/rules.ini"); scws_send_text(s, text, strlen(text)); while (res ...
...dllexport) scws_set_ignore(scws_t s, int yes); void __declspec(dllexport) scws_set_multi(scws_t s, int mode); void __declspec(dllexport) scws_set_debug(scws_t s, int yes); void __declspec(dllexport) scws_set_duality(scws_t s, int yes); void __declspec(dllexport) scws_send_text(scws_t s, const ...