首页 > 编程知识 正文

es索引怎么设置分词器,jieba分词使用教程

时间:2023-05-03 21:11:54 阅读:112066 作者:4936

2021SC@SDUSC

官方文档明确了测试,所以这里不做说明。 分析一下源代码吧~

源代码:

deftokenize(self,unicode_sentence,mode='default ', HMM=True ) ) : ' ' tokenizeasentenceandyieldstuplesof ) ) ) tokenizeasentenceandyieldstupleso end ) parameter 3360-send mode:'default'or'search ',' search ' isforfinersegmentation.- hmm : whethertousethehidddenmarkovmodel.' if text _ type (3360 raisevalueerror (Jie ba : theinputparametershouldbeunicode.' ) )。 start=0if mode==' default ' : forwinself.cut (unicode _ sentence,hmm=hmm(:width=len ) w ) yield (w ) ssentence ) 3360 startwidth (start=width else 3360 forwinself.cut (unicode _ sentence, hmm=hmm(:width=len(w ) if if len(w ) 2:forIinxrange ) len(w )- 1 ) :gram2=w ) I:I2) if self . 开始I2) iflen(w ) 3:forIinxrange(len(w )- 2 ) :gram3=w(I:I3) if self.freq.get (gram3) ) ) ) start i,start i 3) yield(w,start,start width ) start =width表示此方法接受三个参数unicode_sentence、mode、HMM,然后单击

第一部分的if语句用于确定unicode_sentence接收的实参是否为unicode编码的str,否则报告错误。

第二部分开始剪切,确定(start用于记录各个单词的开始位置)、使用if else语句使用的模式(default模式和search模式)。

如果参数mode==‘default’,则使用缺省模式,使用精确模式拆分语句,遍历结果,并将结果及其在语句中的位置放入元组并返回迭代程序。

参数模式!=‘default”时,使用搜索模式,使用精确模式分割语句,遍历结果,再次分割结果中大于2的和大于3的,在可以单词化的结果后添加该位置并返回元组,最后返回迭代程序

搜索模式的源代码你看起来眼熟吗? 是的。 他是cut_for_search ()的双胞胎兄弟。

详细内容请参考这篇文章

有一模一样吗~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。