Linux mmseg 同义词/复合分词处理:
其基本使用状况为:
词库包含:
南京西路、南京、西路
索引时:
文本中的“南京西路”会被同时索引为以上三者
查询时:
输入南京西路,可以直接匹配南京西路,而不匹配南京或者西路;
输入南京或者西路,也可以搜索到南京西路
用法:
1. 处理unigram.txt生成同义词库文件
注*:在mmseg安装目录 /mmseg3/etc/ 下运行
$ python (加安装之前coreseek目录路径)mmseg-3.2.14(源代码=>是解压后的coreseek 目录下)/script/build_thesaurus.py unigram.txt > thesaurus.txt
//下载后的压缩包自定义存放
$ python /usr/local/src/coreseek-4.1-beta/mmseg-3.2.14/script/build_thesaurus.py unigram.txt > thesaurus.txt
//我自己的存放目录
*thesaurus.txt文件的格式如下:
南京西路
-南京,西路,
张三丰
-太极宗师,武当祖师,
2. 生成同义词词典
注*:在mmseg安装目录 /mmseg3/etc/ 下运行
mmseg -t thesaurus.txt
//mmseg 在安装后的mmseg3/bin下
$ /usr/local/mmseg3/bin/mmseg -t thesaurus.txt
//我自己的安装目录
3. 将thesaurus.lib放到uni.lib同一目录
4. 停掉要使用同义词/复合词的那个sphinx ,重新建索引indexer -> 启动sphinx searchd -> 搜索search
5 注:同义词不影响分词。只影响索引
6. coreseek索引和搜索时,会自动进行复合分词处理。
来源:oschina
链接:https://my.oschina.net/u/569662/blog/61178