感谢支持
我们一直在努力

coreseek-3.2.13兼容sphinx-0.9.9的配置

coreseek-3.2.13兼容sphinx-0.9.9的配置,可以不经修改,即可直接使用。

不过,为了更好的针对中文进行检索,则需要使用coreseek新增的配置参数,设置中文分词。

以下是中文分词的核心配置,请仔细阅读,应用到自己的配置之中:

source 数据源名称a
{
#……
#该部分的配置,直接采用sphinx的配置,无需更改即可直接使用
#……
}
index 索引名称a
{
#以下部分的配置,直接采用sphinx的配置,无需更改即可直接使用
#……
source = 数据源名称a #对应到source
path = var/data/数据源名称a
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
#……
#以上部分的配置,直接采用sphinx的配置,无需更改即可直接使用

#以下部分为中文分词核心配置
#stopwords = /path/to/stowords.txt的位置
charset_dictpath = /usr/local/mmseg3/etc/
charset_type = zh_cn.utf-8
#charset_table = ……………….. #需将原有
的该配置注释掉
ngram_len = 0
#以上部分为中文分词核心配置

}
mmseg.ini配置:
mmseg配置文件之中,可以配置英文和数字的切分细则(例如设置china2008作为整体还是切分为china、2008),详情请查看mmseg.ini配置


中文分词核心配置说明:


charset_dictpath=/usr/local/mmseg3/etc/

表示词典文件的目录,该目录下必须有uni.lib词典文件存在;

uni.lib词典文件的制作,请参考:mmseg词典的构造;特别注意,更换或者修改词典后,需要重新索引数据并重启searchd才能生效。

因为BSD/linux默认安装在/usr/local/mmseg3/etc下面,则使用/usr/local/mmseg3/etc/即可;

如果是在Windows系统下,则为词典所在的实际路径,结尾必须使用/,例如:F:\coreseek-3.2.13-win32\etc/

测试时,如果出现Unigram dictionary load Error或者Segmentation fault,一般为词典路径设置不正确。


charset_type=zh_cn.utf-8

表示启用中文分词功能;否则中文分词功能无效,使用sphinx的其他处理模式。

启用中文分词功能后,需要source数据源之中,读取的数据编码字符集为UTF-8,否则无法正确处理;

如果是xml,则正确输出为UTF-8编码格式即可;

如果是MySQL,则设置读取数据输出字符集为UTF-8即可:

MySQL4.1起可以通过SET NAMES UTF8设定输出字符集为UTF-8,即使原始数据为GBK也可;

MySQL4.1以下版本,请直接联系我们解决GBK或者Latin1输出为UTF-8问题;


#stopwords=……


表示停止词文件,该文件中的词汇不参与搜索;文件格式为普通UTF-8文本文件,每行一个;



#charset_table=……
ngram_len=0

表示取消原有的一元字符切分模式,不对中文分词产生干扰;

charset_table的配置需要注释掉!

ngram_len的配置需要设置为0!

中文分词核心配置


coreseek-3.2.13兼容sphinx-0.9.9的配置,可以不经修改,即可直接使用。

不过,为了更好的针对中文进行检索,则需要使用coreseek新增的配置参数,设置中文分词。

以下是中文分词的核心配置,请仔细阅读,应用到自己的配置之中:

source 数据源名称a
{
#……
#该部分的配置,直接采用sphinx的配置,无需更改即可直接使用
#……
}
index 索引名称a
{
#以下部分的配置,直接采用sphinx的配置,无需更改即可直接使用
#……
source = 数据源名称a #对应到source
path = var/data/数据源名称a
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
#……
#以上部分的配置,直接采用sphinx的配置,无需更改即可直接使用

#以下部分为中文分词核心配置
#stopwords = /path/to/stowords.txt的位置
charset_dictpath = /usr/local/mmseg3/etc/
charset_type = zh_cn.utf-8
#charset_table = ……………….. #需将原有
的该配置注释掉
ngram_len = 0
#以上部分为中文分词核心配置

}
mmseg.ini配置:
mmseg配置文件之中,可以配置英文和数字的切分细则(例如设置china2008作为整体还是切分为china、2008),详情请查看mmseg.ini配置


中文分词核心配置说明:


charset_dictpath=/usr/local/mmseg3/etc/

表示词典文件的目录,该目录下必须有uni.lib词典文件存在;

uni.lib词典文件的制作,请参考:mmseg词典的构造;特别注意,更换或者修改词典后,需要重新索引数据并重启searchd才能生效。

因为BSD/linux默认安装在/usr/local/mmseg3/etc下面,则使用/usr/local/mmseg3/etc/即可;

如果是在Windows系统下,则为词典所在的实际路径,结尾必须使用/,例如:F:\coreseek-3.2.13-win32\etc/

测试时,如果出现Unigram dictionary load Error或者Segmentation fault,一般为词典路径设置不正确。


charset_type=zh_cn.utf-8

表示启用中文分词功能;否则中文分词功能无效,使用sphinx的其他处理模式。

启用中文分词功能后,需要source数据源之中,读取的数据编码字符集为UTF-8,否则无法正确处理;

如果是xml,则正确输出为UTF-8编码格式即可;

如果是MySQL,则设置读取数据输出字符集为UTF-8即可:

MySQL4.1起可以通过SET NAMES UTF8设定输出字符集为UTF-8,即使原始数据为GBK也可;

MySQL4.1以下版本,请直接联系我们解决GBK或者Latin1输出为UTF-8问题;


#stopwords=……


表示停止词文件,该文件中的词汇不参与搜索;文件格式为普通UTF-8文本文件,每行一个;



#charset_table=……
ngram_len=0

表示取消原有的一元字符切分模式,不对中文分词产生干扰;

charset_table的配置需要注释掉!

ngram_len的配置需要设置为0!

赞(0) 打赏
转载请注明出处:服务器评测 » coreseek-3.2.13兼容sphinx-0.9.9的配置
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏