Coreseek®  
 | 首页 | 注册 | 回复 | 搜索 | 统计资料 |                 网站首页产品服务开放源码安装使用常见问题中文手册社区交流联系我们 
中文分词 论坛首页 / 中文分词 /

关于 coreseek 中文搜索复合词/同义词搜索不到结果问题

 
yijunfeng
会员
#1 | 发表时间: 2013 07 12 20:45 | 修改: yijunfeng
回复 
首先描述有点长,请耐心看完,我尽量将各式写的清晰点

以下描述都以 搜索 “世界” 一词为例;

词库是放在数据库中(一个是为了去重,另外一个是方便管理),表记录为40多万,然后通过查询这个词库表生成 词典 unigram.txt,并且在生成是将加入繁体字,格式如图:


这个文件中不存在 重复的词

通过命令

    mmseg -u unigram.txt

生成 unigram.txt.uni 并重命名为 uni.lib

接着使用 unigram.txt 文件通过源码里提供的 build_thesaurus.py 脚本来生成 复合词(同义词) 文件

    python /mmseg-3.2.14/script/build_thesaurus.py unigram.txt > unigram_thesaurus.txt

unigram_thesaurus.txt 文件格式如图:


然后 通过 unigram_thesaurus.txt 文件来生成 thesaurus.lib

    mmseg -t unigram_thesaurus.txt



下面是重新建立索引的步骤:

1,停掉搜索进程,killall searchd

2,将coreseek 安装目录下将 var/data/ 下的文件全部删除

3,修改配置文件(test.conf),将 charset_dictpath 指向 新生成 thesaurus.lib,uni.lib 的目录

4,重新创建索引 /coreseek/bin/indexer -c /coreseek/etc/test.conf --all

5,启动搜索服务 /coreseek/bin/searchd -c /coreseek/etc/test.conf &



数据源games表中数据含有 “世界” 的游戏名称的数据,如图:


mmseg 的分词如下:

/mmseg -d /data/words/ /work/fyj/tmp/t.txt

坦克世界/x  
魔兽世界/x 魔兽/s 世界/s  
仙侠世界/x 仙侠/s 世界/s

tail /work/fyj/tmp/t.txt

坦克世界
魔兽世界
仙侠世界

不知道“坦克世界”为什么没有分开

然后搜索 “世界” 一词

/coreseek/bin/search -c /coreseek/etc/test.conf '世界'

结果:

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
Copyright (c) 2007-2011,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file '/coreseek/etc/test.conf'...
index 'test': query '世界 ': returned 0 matches of 0 total in 0.072 sec

words:
1. '世界': 0 documents, 0 hits

却搜不到结果,另外补充下:
1,unigram.txt 有 “世界” 一词;
2 “魔兽世界” 和 “仙侠世界” 还有 “坦克世界” 的复合词如下:

魔兽世界
-魔兽,世界,

仙侠世界
-仙侠,世界,

坦克世界
-坦克,世界,

为什么搜索 “世界” 没有结果? 这里好像不能添加图片,图片出不来,可以到www.dewen.org/q/13644  看;
(谢谢!)
jxg632853383
会员
#2 | 发表时间: 2016 04 20 17:11
回复 
这个问题我进行了测试,将unigram.txt中多余的词删掉,用很少量的词来测试,如果排在第一行的词就无法分开,第一行以后的都可以,可以调换顺序试试。这应该是个bug
 
回复
Bold Style  Italic Style  Image 链接  URL 链接 
发帖注意:
  • 网址中请去掉http://开头,例如:您需要输入www.coreseek.cn,而不是http://www.coreseek.cn
  • 咨询问题,请贴出详细的操作系统版本、Coreseek版本(Linux环境请给出编译参数)
  • 请仔细查看中文手册和本站安装指南,确认操作正确
  • 请仔细查看常见问题解答,也许你的问题已经有解决方法

» 帐号  » 密码 
发帖前请登陆, 或者 注册 .