您的位置:首页 > 运维架构 > Linux

CentOS6.2 安装Coreseek(Sphinx)详细教程

2013-10-27 21:20 288 查看
Sphinx是一个基于SQL的全文检索引擎,可以结合mysql,postgresql做全文搜索,它可以提供比数据库本身更专业的搜索功能,但对中文检索并不友好。而coreseek就是基于sphinx针对中文搜索研发出来的软件, 适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景。http://blog.rekfan.com/?p=136

Coreseek是一款开源的支持中文的全文检索应用,基于Sphinx开发,而且有自己的中文分词词库,因此适合中文网站构建自己的搜索引擎。

测试环境:

CentOS-6.2-x86_64

注:本次测试rekfan已经提前将mysql安装好了,大家测试的时候务必要先将mysql安装好!http://blog.rekfan.com/?p=136

1.下载coreseek软件

[root@rekfan.com 下载]# wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz

2.解压软件包

[root@rekfan.com 下载]# tar xzvf coreseek-4.0.1-beta.tar.gz

Coreseek版本:

coreseek-4.0.1-beta.tar.gz里面包含下面几个目录

csft-4.0.1 ----- coreseek源代码

mmseg-3.2.14 ---- mmseg源代码

testpack ---- 测试配置和数据包

README.txt ---- 查看解压缩出来的目录结构

3.安装依赖软件

[root@rekfan.com 下载]# yum install gcc gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

4.安装mmseg

[root@rekfan.com 下载]# cd coreseek-4.0.1-beta

[root@rekfan.com coreseek-4.0.1-beta]# cd mmseg-3.2.14

[root@rekfan.com mmseg-3.2.14]# cd ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决

[root@rekfan.com mmseg-3.2.14]# ./configure --prefix=/usr/local/mmseg

[root@rekfan.com mmseg-3.2.14]# make && make install

[root@rekfan.com mmseg-3.2.14]# cd ..

5.安装coreseek

# cd csft-3.2.14 或者 cd csft-4.0.1 或者 cd csft-4.1

[root@rekfan.com coreseek-4.0.1-beta]# cd csft-4.0.1

[root@rekfan.com csft-4.0.1]# sh buildconf.sh #输出的warning信息可以忽略,如果出现error则需要解决

[root@rekfan.com csft-4.0.1]# ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql ##如果提示mysql问题,可以查看MySQL数据源安装说明

[root@rekfan.com csft-4.0.1]# make && make install

[root@rekfan.com csft-4.0.1]# cd ..

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

[root@rekfan.com coreseek-4.0.1-beta]# cd testpack

[root@rekfan.com testpack]# cat var/test/test.xml #此时应该正确显示中文

[root@rekfan.com testpack]# /usr/local/mmseg/bin/mmseg -d /usr/local/mmseg/etc var/test/test.xml[root@rekfan.com testpack]# /usr/local/coreseek/bin/indexer -c etc/csft.conf --all

[root@rekfan.com testpack]# /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索http://blog.rekfan.com/?p=136

7.配置测试,测试是否可以正确运行

[root@rekfan.com testpack]# /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx-min.conf.dist

##以下为正常测试时的提示信息:

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2010,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file '/usr/local/coreseek/etc/sphinx-min.conf.dist'...

total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg

total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg

##

##csft-4.0版显示:ERROR: nothing to do.

##

##至此,coreseek基础环境可以正常安装,我们可以开始后续的工作啦。

8.建立索引并开启coreseek中文全文检索服务

[root@rekfan.com coreseek-4.0.1-beta]# cd testpack

8.1建立索引

[root@rekfan.com coreseek-4.0.1-beta]# /usr/local/coreseek/bin/indexer -c etc/csft_mysql.conf

8.2建立全部索引

[root@rekfan.com coreseek-4.0.1-beta]# /usr/local/coreseek/bin/indexer -c etc/csft_mysql.conf –all

8.3 启动coreseek服务

[root@rekfan.com coreseek-4.0.1-beta]# /usr/local/coreseek/bin/searchd -c etc/csft_mysql.conf

如要停止搜索服务,请使用

[root@rekfan.com coreseek-4.0.1-beta]# /usr/local/coreseek/bin/searchd -c etc/csft_mysql.conf –stop

如要已启动服务,要更新索引,请使用

[root@rekfan.com coreseek-4.0.1-beta]# /usr/local/coreseek/bin/indexer -c etc/csft_mysql.conf –all –rotate

9.可能遇到的问题及解决方法:
http://blog.rekfan.com/?p=136
##如果提示libtool: unrecognized option `--tag=CC' ,请查看libtool问题解决方案

##有的系统下可能出现:expected `;' before ‘CSphTokenizer_UTF8SpaceSeg’,

##或者出现:configure: WARNING: unrecognized options: --with-mmseg, --with-mmseg-includes, --with-mmseg-libs

##是因为你没有进行随后的sh buildconf.sh操作

##生成当前系统对应的编译配置文件

##需要使用以下指令:

$ sh buildconf.sh

## Linux环境下,如遇到pthread问题,请先直接执行以下指令在进行configur:

$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

$ export LD_LIBRARY_PATH

## 如果出现undefined reference to `libiconv'的类似错误,可以按照如下方法处理:

##方法一:(Linux使用)

## 直接执行:export LIBS="-liconv"

##然后make clean,再次configure后,进行编译安装make && make install

## 方法二:

## 首先configure,然后vim src/makefile

## 在其中搜索lexpat,在其后加上 -liconv

## 修改后该行应该为:-lexpat -liconv -L/usr/local/lib

## 然后再次make && make install

## 方法三:

## 首先configure,然后vim config/config.h

## 在其中搜索USE_LIBICONV,将其后的1修改为0

## 然后再次make && make install
http://blog.rekfan.com/?p=136
官方文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: