为coreseek添加mmseg分词

ぃ、小莉子 提交于 2019-12-07 21:11:54

由于在工作中遇到了林书豪这个词,原来的分词库里面没有就找了下文档,自己整理了一份,以交流备忘。

1.准备好需要添加的词表,一般都是每行一词,注意要保存为utf-8; 
    例如: 
    -- 
    林书豪
    -- 
2.利用UltraEdit的查找替换功能,使词表格式符合mmseg的要求; 
    例如: 
    打开UltraEdit的正则替换功能,将“^p”替换为“^t1^px:1^p” 
    结果是: 
    -- 
    林书豪[tab]1 
    x:1 
    -- 

    其他的也行
3.将生成的符合格式要求的词表粘贴到原词表unigram.txt末尾,保存为unigram_new.txt,并拷贝到mmseg所在的目录下; 

4.生成新的uni

    /usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/unigram_new.txt

    就会生成新的词典文件unigram_new.txt.uni 

5.将新的unigram_new.txt.uni 替换原有的uni.lib
    mv /usr/local/mmseg3/etc/unigram_new.txt.uni /usr/local/mmseg3/etc/uni.lib

6.重新建立索引库、重启searchd
     /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/c.conf --all --pidfile --rotate
    关闭searchd
      ps auxww | grep searchd
      kill 923230
    启动searchd
    /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/c.conf --console --pidfile  

    搜索试下就出来了。

注意:需要重启searchd


小弟个人博客http://www.iczerd.com,欢迎交流,友链

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!