centos 下 sphinx安装和配置
一、安装前提必备先安装工具
yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
二、安装sphinx
1、下载sphinx
cd /usr/local/src (默认下载文件存放位置)
wget http://sphinxsearch.com/files/sphinx-2.1.1-beta.tar.gz
2、解压安装包
tar zxvf sphinx-2.1.1-beta.tar.gz
3、检查当前系统是否满足安装sphinx 和指定安装目录
cd sphinx-2.1.1-beta
./configure --prefix=/usr/local/sphinx
4、编译和安装sphinx
make
make install
5、备份配置文件
cd /usr/local/sphinx/etc
cp sphinx.conf.dist sphinx.conf
6、修改配置文件
1)、导入sphinx准备的测试数据会导入test库和两张表(确保apache mysql服务已经打开)
mysql -uroot -p</usr/local/sphinx/etc/example.sql
2)、修改sphinx配置文件
vim /usr/local/sphinx/etc/sphinx.conf
在vim下搜索 /sql_host (告诉sphinx mysql链接信息)
sql_host = localhost //服务器名
sql_user = root //数据库账户
sql_pass = qaz5788943 //数据库密码
sql_db = test //使用sphinx 库名
sql_port = 3306 # optional, default is 3306
在vim下搜索 /sql_query_pre
打开下面配置的注释
sql_query_pre = SET NAMES utf8
在vim下搜索 /exceptions.txt 注释下面配置
# exceptions = /data/exceptions.txt
7、创建测试索引文件
cd /usr/local/sphinx/bin
./indexer --all
8、测试sphinx全文索引 搜索‘this’单词
./search this
此时要报以下错误
index 'test1': search error: query too complex, not enough stack (thread_stack=1201361K or higher required).
可修改配置文件
vim /usr/local/sphinx/etc/sphinx.conf
/_info 搜索_info找到
sql_query_info = SELECT * FROM documents WHERE id=$id
把上面配置注释掉即可
#sql_query_info = SELECT * FROM documents WHERE id=$id
关键步骤总结:
1、连接mysql (修改配置文件)要确保字符集为utf-8
2、创建索引 /usr/local/sphinx/bin/indexer --all
3、使用搜索this分词 /usr/local/sphinx/bin/search this
完成以上安装后只支持英文分词 不支持中文 中英文结合搜索 所以需要进行下面中文分词安装
三、安装coreseek中文分词 (其实就是一个sphinx+中文词库)
1、下载coreseek
wget www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz(官方已失效)
新地址:wge vdisk.weibo.com/s/z-JIj1kq4Z81
或在window下手动下载再传到linux的/usr/local/src 文件夹中
2、解压文件
tar -zxvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
认识下coreseek文件目录
ls
csft-3.2.14 (就是sphinx)
mmseg-3.2.14 (就是中文词库)
3、安装
(1)安装mmseg分词词典
1)cd /usr/local/src/coreseek-3.2.14/mmseg-3.2.14
2)测试系统是否满足安装
./bootstrap
3)执行配置检测
./configure --prefix=/usr/local/mmseg3
4)编译安装
make && make install
5)测试分词
cd /usr/local/mmseg3/bin
/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc/ /usr/local/src/coreseek-3.2.14/mmseg-3.2.14/src/t1.txt
(2)安装csft
1)执行内置shell脚本测试是否满足安装
cd /usr/local/src/coreseek-3.2.14/csft-3.2.14
sh buildconf.sh
2)执行配置检测
./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
3)执行安装
make && make install
4)修改配置文件
a、备份配置文件
cd /usr/local/coreseek/etc
cp sphinx.conf.dist csft.conf
b、准备测试数据
//创建库
create database mysphinx charset utf8;
//创建表
create table sphinx_test(id int primary key auto_increment,title varchar(255),content text,catid smallint)charset utf8;
//准备数据
insert into sphinx_test(title,content,catid)values('奥运会','广州获得2028年奥运举办资格',1);
insert into sphinx_test(title,content,catid)values('奥运会','傅园慧获得里约奥运中国队代表',1);
c、修改配置文件
vim csft.conf
在vim下搜索 /sql_host (告诉sphinx mysql链接信息)
sql_host = localhost //服务器名
sql_user = root //数据库账户
sql_pass = qaz5788943 //数据库密码
sql_db = test //使用sphinx 库名
sql_port = 3306 # optional, default is 3306
在vim下搜索 /sql_query_pre
打开下面配置的注释
sql_query_pre = SET NAMES utf8
在vim下搜索 /sql_query 找到下面内容在每行前面加#注释掉
sql_query = \
SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
FROM documents
在上面内容下面添加个人测试数据表
SELECT id,title,content FROM sphinx_test
搜索/charset_type 修改成:
charset_type = zh_cn.utf-8
在上面内容下面加上词典目录
charset_dictpath = /usr/local/mmseg3/etc/
/_info 搜索_info找到
sql_query_info = SELECT * FROM documents WHERE id=$id
修改成:
sql_query_info = SELECT * FROM sphinx_test WHERE id=$id
d、创建索引
cd /usr/local/coreseek/bin
./indexer --all
e、测试分词
./search 奥运
至此报错 /data/exptions.txt不存在 找到csft.conf 注释掉
csft.conf 中的库名要改成实际的库名(提示数据库的表不存在)
四、安装php拓展
1、下载sphinx拓展
cd /usr/local/src
wget http://pecl.php.net/get/sphinx-1.2.1.tgz
2、解压
tar -zxvf sphinx-1.3.1.tgz
3、安装libsphinxclient支持
cd /var/install/coreseek-4.1-beta/csft-4.1/api/libsphinxclient/
./configure --prefix=/usr/local/sphinx
make && make install
4、安装php拓展
cd /usr/local/src/sphinx-1.2.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx
make && make install
5、修改php.ini配置文件
可以在phpinfo()函数 网页搜索Configuration找到php.ini文件存放位置
vim php.ini
添加配置项
extension="sphinx.so"; //拓展名
extension="/usr/local/php/lib/php/extensions/no-debug-zts-20131226/sphinx.so"; //拓展文件存放位置
6、重启apache
/usr/local/apache2/bin/apachectl restart
centos 下 sphinx安装和配置的更多相关文章
- CentOS 下 redis 安装与配置
CentOS 下 redis 安装与配置 1.到官网上找到合适版本下载解压安装 [root@java src]# wget -c http://redis.googlecode.com/files ...
- Centos下 Nginx安装与配置
网上找了好多资料.都很难找全,这里以这个目录为主,进行备注. Nginx是一款轻量级的网页服务器.反向代理服务器.相较于Apache.lighttpd具有占有内存少,稳定性高等优势.它最常的用途是提供 ...
- CentOS下Redis安装与配置
本文详细介绍redis单机单实例安装与配置,服务及开机自启动.如有不对的地方,欢迎大家拍砖o(∩_∩)o (以下配置基于CentOS release 6.5 Final, redis版本3.0.2 [ ...
- centos下Nginx安装和配置多个域名的虚拟主机
nginx安装步骤,源码编译安装(源码编译,可以自定制更多功能) openssl #user nobody; worker_processes ; #error_log logs/error.log; ...
- Centos下mahout安装与配置
对于Mahout的安装与配置,须要一个前提.就是hadoop已经安装. 假设没有安装能够參考. http://blog.csdn.net/u012965373/article/details/4533 ...
- centos下dnsmasq安装与配置
说明1.dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能. 2.dnsmasq可以解决小范围的dns查询问题,如 ...
- centos下nginx安装和配置
注:此文是根据前辈的博客和自己实际动手总结出来的,不喜勿喷 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要 ...
- centos下vsftpd安装与配置
1.已经配置好可以上网了,所以即可通过yum install vsftpd安装啦.如果不能上网则可以通过dvd2.iso工具集rpm方式进行安装. 2.安装好后,默认本地可以通过匿名用户登录,但是其它 ...
- Linux之CentOS下vsftp安装及配置相关操作
1.安装ftps——vsftpd: #yum install vsftpd 2.指定上传下载目录配置: 如:用户名:xxx,需指定目录:/xxx/xxx #useradd -d /xxx/xxx -s ...
随机推荐
- 19暑假多校训练第一场-J-Fraction Comparision(大数运算)
链接:https://ac.nowcoder.com/acm/contest/881/J来源:牛客网 题目描述 Bobo has two fractions xaxa and ybyb. He wan ...
- 【面试题】如何删除 ArrayList 中奇数位置的元素?
如何删除 ArrayList 中奇数位置的元素? 面试题携程 import java.util.ArrayList; import java.util.Iterator; import java.ut ...
- scrapy框架4——下载中间件的使用
一.下载中间件 下载中间件是scrapy提供用于用于在爬虫过程中可修改Request和Response,用于扩展scrapy的功能:比如: 可以在请求被Download之前,请求头部加上某些信息(例如 ...
- Linux 进程地址空间及原理
1.程序地址空间 首先,我们先看学c/c++时候学到的程序内存布局: 准确地说,程序地址空间其实就是进程的地址空间,实际就是pcb中的mm_struct. 接下来,我们用fork()演示一下 ...
- 【Qt】Qt5.12编译MySQl5.7驱动(亲自测试成功)
目录 00. 目录 01. 安装Qt5.12 02. 打开MySQL源码项目 03. 编译MySQL驱动代码 04. 修改mysql.pro文件 05. 编译之后得到对应的库 06. 拷贝动态库到指定 ...
- 细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 ...
- Synergy 一套键鼠同时控制多台电脑
百度云(1.5是最后一个免费的版本,linux,mac,windows全有): 链接: https://pan.baidu.com/s/1A_qR8FHd8a0ILQXsSqjfCQ 密码: 9h8c
- linux之rename和mv的区别
rename 命令格式 rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] 参数介绍 -v:被替换掉的字符串 -n:替换成的字符串 -f:匹配要替换的文件模式 ...
- Eclipse下使用Maven创建项目出现的archetype错误,记,转
记自:http://blog.csdn.net/ZhuboSun/article/details/50099635 [1]出现的错误提示: Unable to create project from ...
- robot framework 接口测试 http协议post请求json格式
robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...