在Mac下安装Coreseek全文搜索

前提:有gcc基础编译环境,安装XCode就具备

1. 设置环境,升级/安装系统基础依赖包

sudo bash
su -

设置路径和中文环境:

export PATH=/usr/local/bin:$PATH
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8

下载并安装系统基础依赖包

curl -O -L http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz
tar -xzvf m4-1.4.16.tar.gz
cd m4-1.4.16
./configure --prefix=/usr/local
make && make install
cd ..

curl -O -L http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -xzvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local
make && make install
cd ..

curl -O -L http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
tar xzvf automake-1.14.tar.gz
cd automake-1.14
./configure --prefix=/usr/local
make && make install
cd ..

curl -O -L http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz
tar xzvf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure --prefix=/usr/local
make && make install
cd ..

2. 安装MySQL,提供MySQL数据源支持

1). 如果已经安装过mysql,直接跳过
2). 通过MySQL 二进制版本(binary,dmg安装包)安装
    a. 从http://www.mysql.com/downloads/mysql/下载当前系统对应的DMG Archive
    b. 挂载DMG,安装MySQL

3. 安装coreseek

curl -O -L http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
tar xzvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14

安装mmseg

cd mmseg-3.2.14
./bootstrap
./configure --prefix=/usr/local/mmseg3
make && make install
cd ..

安装coreseek

cd csft-3.2.14
sh buildconf.sh
./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib
make && make install
cd ..

测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)

cd testpack
cat var/test/test.xml    #此时应该正确显示中文
/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
/usr/local/coreseek/bin/indexer -c etc/csft.conf --all
/usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索

如果提示 dyld: Library not loaded: libmysqlclient.18.dylib
则需要运行一下

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

至此,安装coreseek已经全部完成了



在最后安装mmseg过程中,进行make操作的时候,突然报了以下错误信息:

n file included from css/ThesaurusDict.cpp:6: 
../src/css/ThesaurusDict.h:12:17: error: expected namespace name 
using namespace __gnu_cxx; 

css/ThesaurusDict.cpp:79:15: warning: result of comparison against a string 
literal is unspecified (use strncmp instead) [-Wstring-compare] 
if (filename == "-") { 
^ ~~~ 
css/ThesaurusDict.cpp:116:15: warning: result of comparison against a string 
literal is unspecified (use strncmp instead) [-Wstring-compare] 
if (filename != "-") { 
^ ~~~ 
2 warnings and 1 error generated. 
make[2] : *** [ThesaurusDict.lo] Error 1 
make[1]: *** [install-recursive] Error 1 

经过搜寻资料,最后得知是因为编译器版本太高导致的,那我也不想去降低编译器的版本,通过修改源代码,解决了该问题:

进入到源代码包目录:即coreseek-3.2.14所在目录,cd mmseg-3.2.14/src/css,找到文件:ThesaurusDict.h 

在头部找到:#include <string>

再其下加入一行代码:#include <ext/hash_map>

再回到mmseg-3.2.14目录,执行make编译操作,顺利完成,最后就可以接着执行安装操作了。

(2)OK,mmseg中文分词是安装完成了,此时接着安装sphinx,编译的过程中,又遇到了问题:





【声明】本文 在Mac下安装Coreseek全文搜索 为柠之漠然原创文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值