美文网首页
修改whoosh 支持中文分词法

修改whoosh 支持中文分词法

作者: tglmm | 来源:发表于2020-04-30 15:20 被阅读0次
    import jieba
    
    from whoosh.analysis import Tokenizer,Token
    
    class ChineseTokenizer(Tokenizer):
        def __call__(self, value,positions=False,chars=False,
                     keeporiginal=False,removestops=True,
                     start_pos=0,start_char=0,mode="",**kwargs):
            t = Token(positions,chars,removestops=removestops,mode=mode,**kwargs)
            seglist = jieba.cut(value,cut_all=True)
            for w in seglist:
                t.original = t.text = w
                t.boost = 1.0
                if positions:
                    t.pos = start_pos + value.find(w)
                if chars:
                    t.startchar = start_char + value.find(w)
                    t.endchar = start_char + value.find(w) + len(w)
                yield t
    
    def ChineseAnalyzer():
        return ChineseTokenizer()
    

    相关文章

      网友评论

          本文标题:修改whoosh 支持中文分词法

          本文链接:https://www.haomeiwen.com/subject/qxozwhtx.html