Closed swigger closed 8 years ago
感谢反馈! 不过这个问题不是bug,因为在cppjieba里面有个阈值4,只有大于字数4的词才会被细粒度分词。 而jieba的逻辑是对于每个词都会进行2个字和3个字的词的二次挖掘。 目前解决这个问题可以通过手动设置 Jieba::SetQuerySegmentThreshold(2); 把阈值设置为2 。
不过之后我会抽空把CutForSearch分词逻辑尽可能保持和jieba的完全一致。消除这个疑惑。
Update:
最新的版本里面已经做到CutForSearch函数的行为和jieba python版本的一致。有空可以试试看。
例子: vector words;
jieba.DoCutForSearch("他心理健康", words);
得到:
他
心理健康
Python: seg_list = jieba.cut_for_search("他心理健康") # 搜索引擎模式 for i in seg_list: print i 得到: 他 心理 健康 心理健康
C++版有bug, 导致搜心理搜不到词条,得搜心理健康。