抱歉,评论被关闭
Sphinx配置过程及使用
Linux(CentOS为案例)下怎样安装sphinx, 怎样建立索引,并且是自动的建立所需要的,怎样通过php调用sphinx,并查询!
一系列问题等着起的!
接下来就开始吧!
一、安装
#确保又mysql库 没有的话预编译的时候会报错的,那就要先安mysql库,不过我这里就不讲了!
查看–如何在没安装MySQL的服务器上安装Sphinx(远程连接)?
wget http://sphinxsearch.com/files/sphinx-1.10-beta.tar.gz
tar zxvf sphinx-1.10-beta.tar.gz
cd sphinx-1.10-beta
./configure –prefix=/usr/local/sphinx –with-mysql=/usr/local/mysql
make &&make install
二、修改配置文件
vi /usr/local/sphinx/etc/sphinx.conf
连接数据库的用户名和密码
sql_host= 数据库主机地址(如果是外网,请确保防火墙允许链接)
sql_user = root
sql_pass = ***** #你自己的密码
sql_db= 数据库名称
sql_port= 数据库端口
searchd配置说明
port= sphinx的端口(9312 与 searchd.exe监听结果一致)
索引路径
path = /log/sphinx/test1
在sphinx目录下有一个example.sql
在mysql中,新建一个数据库test,然后把example.sql导入进去
三、建立索引
/usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf test1
indexing index ‘test1’…
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.245 sec, 788.77 bytes/sec, 16.35 docs/sec
四、启动sphinx
/usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf
五、查询测试
/usr/local/sphinx/bin/search -c /usr/local/sphinx/etc/sphinx.conf another
index ‘test1’: query ‘another ‘: returned 1 matches of 1 total in 0.000 sec
displaying matches:
1. document=3, weight=2, group_id=2, date_added=Sat Aug 8 23:34:22 2009
id=3
group_id=2
group_id2=7
date_added=2009-08-08 23:34:22
title=another doc
content=this is another group
words:
1. ‘another’: 1 documents, 2 hits
六、调用
应用程序如果想调用Sphinx,可以从两个方面:
A:是通过Sphinx官方提供的API接口(接口有Python,Java,Php三种版本)
B:是通过安装SphinxSE,然后创建一个中介sphinxSE类型的表,再通过执
采用sphinxSE必须要求为mySQL安装sphinxSE Engine驱动行特定的SQL语句实现
C:使用libsphinxclient+php的sphinx扩展 代替 sphinxapi (等同于第一种方案)
目前我采用的A方案(php)
在http://sphinxsearch.com/files/sphinx-1.10-beta.tar.gz 的解压目录有一个API目录,里面有三个PHP文件:test.php,test2.php和
sphinxapi.php。sphinxapi.php是sphinx调用接口封装文件
在安装了php ,nginx或者apache环境下可以运行一下,test.php及test2.php,就明白了
C方案需要libsphinxclient.so及下面的php 的扩展 sphinx
重要提示:安装php 的扩展 sphinx前必须正确安装好 libsphinxclient.so
libsphinxclient.so的安装包 http://sphinxsearch.com/files/sphinx-1.10-beta.tar.gz 的api文件下
下面是 php 的扩展 sphinx
Sphinx API 官网:http://pecl.php.net/package/sphinx
下载地址 :http://pecl.php.net/get/sphinx-1.1.0.tgz
Sphinx客户端说明:http://cn.php.net/sphinx
本文出自 “凹凸曼” 博客,请务必保留此出处http://www.apoyl.com/?p=290
参考文章:http://blog.sina.com.cn/s/blog_5aefd9770100ag35.html
http://zhengdl126.javaeye.com/blog/423592
问题解决了,接着安装 php 的扩展 sphinx
wget http://pecl.php.net/get/sphinx-1.1.0.tgz
tar zxvf sphinx-1.1.0.tgz
cd sphinx-1.1.0
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so /usr/lib/php/modules/
vi /usr/local/php/etc/php.ini
extension=sphinx.so (开启)
搞定
重启服务
查一下,phpinfo()的信息里,有没有这行 ”sphinx support enabled “
有的话,就恭喜你了!娃哈哈!
接下来运行测试文件,你明白咋子处理散!嘿嘿