分享、学习、提高
2010/07/17 22:21
文章作者:Enjoy 转载请注明原文链接。
先给coreseek做个广告,因为挺好用。北京选择软件科技有限公司 (www.coreseek.com) 是专业的全文检索技术供应商。Coreseek以GPL V2协议开源发布,用户可以免费使用;同时针对有实际需要的客户,我们也提供商业化的技术支持服务。
Sphinx 是由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包。coreseek为Sphinx 贡献了:
引用
GBK编码的数据源支持
采用Chih-Hao Tsai MMSEG算法的中文分词器
中文使用手册
coreseek-3.2.13基于Sphinx 0.9.9 release开发,全面支持:Freebsd 6、7、8
Redhat、CentOS、Fedora、Debian、Ubuntu、Gentoo、OpenSUSE、Slackware、ArchLinux
Windows XP、Windows 2003、Windows 7、Windows Server 2008等各类32位以及64位操作系统!
官方网站是:http://www.coreseek.cn


之前有写过coreseek3.1安装手记,这次在新的一台安装,使用了新版本3.2.13,这次coreseek网站比较详细的列出了各种系统的系统环境和安装步骤,考虑挺周全的。不过,在我的系统上安装,还是碰到了不少问题,以下是当天安装的杂记,不过,这是安装完后好几天写的,可能会有所遗漏。


wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz
cd coreseek-3.2.13
mmseg和csft都在这个目录下
cd mmseg-3.2.13/
./configure --prefix=/usr/local/mmseg3
出现如下错误提示:
引用
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: error: cannot find input file: src/Makefile.in

使用官网的第一步yum -y install gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel升级一些系统文件,无效。

找到其站上Csft 3.2的安装说明:http://www.coreseek.cn/news/6/100/

aclocal
libtoolize --force 我运行后有一个错误,没管它。
automake --add-missing
autoconf
autoheader
make clean
./configure --prefix=/usr/local/mmseg3
通过了
make
make install
安装完成后,mmseg使用的词典和配置文件,自动安装在/usr/local/mmseg3/etc中

cd csft-3.2.13
./configure --prefix=/usr/local/coreseek --without-python --with-mysql --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/
顺利通过
make时出错
/home/src/coreseek-3.2.13/csft-3.2.13/src/tokenizer_zhcn.h:70: undefined reference to `libiconv_open'
/home/src/coreseek-3.2.13/csft-3.2.13/src/tokenizer_zhcn.h:73: undefined reference to `libiconv'
试了多种方案,无效。然后以带--without-iconv的参数安装通过。但是在indexer索引的时候会出错。创建索引时提示:unknown charset type 'zh_cn.gbk'。查看文档中的说明:对于中文用户,可选的值还可以有“zh_cn.utf-8 ”和“zh_cn.gbk”。当设置charset_type值为上面的两种时,系统默认您开启了中文分词特性。当设置charset_type = zh_cn.gbk,系统在configure时 会检测libiconv,如果存在,则开启转码机制以支持gbk;如果不存在则只支持utf-8 。因此,通过--without-iconv的方法安装也是不可行的。

最后找到如下方法,修改src/Makefile,
搜索LIBS找到这行:
LIBS = -lm -lz -lexpat  -L/usr/local/lib -lrt  -lpthread
修改为:
LIBS = -lm -lz -lexpat -liconv -L/usr/local/lib -lrt  -lpthread
编译终于通过了,Coreseek3.2.13安装完成。

PS:coreseek支持latin1,GBK,UTF-8编码的MYSQL索引,原版的sphinx只支持单字节字符集和UTF-8编码。
如影
2013/03/07 17:20
我想coreseek的公司名称应该“精品软件”而不是选择软件吧,choice的翻译是精选品,上等的。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写