您的位置:首页 > 其它

在Mac下安装Coreseek全文搜索

2016-07-08 10:49 483 查看
前提:有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 names
4000
pace 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全文搜索 为柠之漠然原创文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Coreseek