您当前的位置:首页  >> 学无止境 >> 程序人生

coreseek4.1中文全文检索配置自定义分词词库

发布时间:2016-01-19 17:20:00来源:原创文章作者:阿兵

coreseek自身带的词库不是很大,直接使用它自带的分词词库可能会造成大量的返回结果不是我们想要的,要想搜索结果尽可能的准确,打造一个专门的分词词库必不可少。

   今天公司网站产品搜索功能搜索一个关键词的时候,突然出现搜索结果不准确,没有包含这个词的内容也被搜索出来了,我们公司用的是coreseek做的全文检索,为了解决这个问题,所以研究了下coreseek的分词功能。

   经过研究发现,导致搜索不正确结果出现的原因是因为搜索关键词‘光端机’被分解成了三个词‘光’,‘端’,‘机’,然后进行匹配,导致包含这三个单词的结果都搜索出来了,所以结果出现了不正确的地方,找到原因,就很好解决了。

   我们用的是coreseek4.1版本的,coreseek使用的是LibMMSeg库,为了使得我们的关键词‘光端机’不被拆分,能正常识别,我们需要修改系统默认的词典,通过修改词典文件增加自己的自定义词,以提高分词法切分精度,就可以解决这样的一些匹配问题了,系统默认的词典文件在源代码目录的etc/unigram.txt中。

    我们在默认的词典文件里面按照它的格式,增加我们的关键词在后面,格式如下

    增加好了我们的关键词后,保存文件,然后执行下 mmseg -u unigram.txt 这个命令,该命令执行后,将会在unigram.txt所在目录中产生一个名为unigram.txt.uni的文件,将该文件改名为uni.lib,这样就完成了词典的构造了。然后重新生成索引,并且启动coreseek搜索,就能正常搜索我们的关键词了。

    这里需要说明的是 unigram.txt编码格式必须为UTF-8编码;特别需要注意的是:Windows下面编辑词典文件,请使用Notepad2,绝对不要使用记事本(Notepad)。

关键词: 全文检索 coreseek 中文分词 词库
分享到:

相关阅读

栏目最新

点击排行