coreseek(sphinx)linux安装以及配置。。
来源:互联网 发布:atom windows 编辑:程序博客网 时间:2024/06/01 15:58
特别注意:如果用的是coreseek 则不用安装php的sphinx扩展,coreseek都有封装好的。所以不要走弯路哦。
一定要看官方的文档,安装Coreseek是有许多依赖包的,如果这些包没装,会出现各种问题。确保都存在这些包的境况下,在安装coreseek。
以下是官网的yum安装所需要的包
yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
本地用的是nginx+php+linux环境
Coreseek用的Coreseek-4.1
一、Coreseek安装
1、下载Coreseek-4.1的源代码
wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gztar xvf coreseek-4.1-beta.tar.gzcd coreseek-4.1-beta
解压后发现有三个目录,主要的目录结构如下
coreseek-4.1-beta/ csft-4.1/
coreseek修改sphinx-2.0.1后的代码 api/ sphinx searchd[查询API][6]的实现
mmseg-3.2.14/ libmmseg分词库
testpack/ 测试和配置示例 README.txt 介绍和安装指南
2、安装mmseg-3.2.14 (出现警告可以不用处理)
cd mmseg-3.2.14./bootstrap./configure --prefix=/usr/local/mmseg3make && sudo make install
至此coreseek的中文分词包就安装成功了 usr/local/ 会出现mmseg3 以上步骤参考官网即可http://www.coreseek.cn/products-install/install_on_bsd_linux/
二、安装libiconv-1.14
先安装libiconv,用于字符集编码的转换。不装这个 安装csft-4.1时会报错
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gztar xvf libiconv-1.14.tar.gzcd libiconv-1.14./configuremake && sudo make install && ldconfig (如果没有出现以下错误请略过)
如果你的glibc版本在2.16以上,make时很有可能出现如下错误
In file included from progname.c:26:0:./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");^解决办法如下:
1、在libiconv-1.14目录下执行 (我用的是这种方法)
wget -O - http://blog.atime.me/static/resource/libiconv-glibc-2.16.patch.gz | gzip -d - | patch -p0
2、或者考虑直接注释掉srclib/stdio.in.h文件的第698行(应该没问题),即
// _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
make && sudo make install && ldconfig 即可
三、安装csft-4.1
cd csft-4.1sh 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/include/mysql/include --with-mysql-libs=/usr/include/mysql/lib(后面的这几个路径是指向mysql的安装目录根据实际情况来定,官方文档有)make && make install官网:http://www.coreseek.cn/products-install/install_on_bsd_linux/至此coreseek安装成功了 usr/local/ 下会出现coreseek文件夹证明安装成功如果出现以下错误,请从新编译 生成
如果sh buildconf.sh
最后没有生成configure脚本,且提示automake: warnings are treated as errors
,可以将configure.ac中的这行
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
改为
AM_INIT_AUTOMAKE([-Wall foreign])
即删掉-Werror
,然后重新运行sh buildconf.sh
。
如果configure的时候提示没有安装MySQL的头文件,从新安装一遍mysql即可。(http://jingyan.baidu.com/article/c74d600079be530f6a595dc3.html)安装mysql连接
如果你的gcc版本在4.7以上,编译的时候可能会因为sphinx的一个bug报错
sphinxexpr.cpp:1746:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
解决方法参考bug报告里的一个patch,在csft-4.1目录下执行
wget -O - http://blog.atime.me/static/resource/sphinxexpr-gcc4.7.patch.gz | gzip -d - | patch -p0
或者你也可以直接修改src/sphixexpr.cpp文件的1746, 1777和1823行,将三行中的ExprEval
改为this->ExprEval
。
## 如果出现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
$ 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 网络搜索
- coreseek(sphinx)linux安装以及配置。。
- sphinx中文分词coreseek在linux下的安装、配置以及使用方法(入门菜鸟级)
- coreseek sphinx 安装配置
- coreseek&sphinx在linux下安装,配置,使用
- Sphinx以及coreseek的安装及使用
- Coreseek/Sphinx安装测试配置指南
- 全文搜索引擎coreseek安装配置(sphinx)
- 全文搜索引擎coreseek安装配置(sphinx)
- sphinx(coreseek)在linux上的安装
- sphinx/coreseek配置说明
- sphinx/coreseek 安装全过程
- sphinx的Coreseek安装
- Sphinx/Coreseek安装
- sphinx的Coreseek安装
- Linux下带有中文分词的sphinx—coreseek安装和配置--2
- 一个可用的coreseek以及sphinx的csft.conf配置
- 【学习笔记】coreseek(sphinx)搜索引擎的安装及简单配置
- sphinx的安装配置和中文分词包coreseek
- Actor 并发模型 & "不要通过共享内存来通信,而应该通过通信来共享内存"
- 【Android】【编译】代码混淆相关
- Laravel中使用export_excel导出excel表格时单元格宽度自动增长
- java记——循环 求一个数的所有质因数
- 4-1 简单输出整数 (10分)
- coreseek(sphinx)linux安装以及配置。。
- 第七周--停车场模拟
- jqzoom源码解读-1
- superoj725 工作分配
- 国际物流不能只关注价格
- Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny
- dialog样式的activity,可全屏、可任意大小的dialog实现
- IOS-委托机制
- 访问权限public,protected,private,default