Sphinx-PHP使用Sphinx搜索技术
Sphinx继承到PHP程序中, 有两种方式:
Sphinx PHP模块: 编译生成PHP扩展模块
Sphinx API类: 直接使用Sphinx提供的类即可
首先我们应该使用Sphinx做以下几件事:
1).创建MySQL数据
2).配置Sphinx的配置文件
3).使用indexer根据Sphinx的配置数据源和索引创建索引文件
4).启动searchd服务进程, 并开端口9312
5).使用PHP连接Sphinx服务
使用PHP模块形式:
1.安装依赖libsphinxclient
在Coreseek安装包中有此依赖源码, coreseek-3.2.14/csft-3.2.14/api/libsphinxclient
cd /setup/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient ./configure --prefix=/usr/local/sphinxclient make && make install
2.下载和安装PHP Sphinx扩展
wget http://pecl.php.net/get/sphinx-1.3.3.tgz tar zxvf sphinx-1.3.3.tgz /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx=/usr/local/sphinxclient/ make && make install
3.添加PHP Sphinx模块到配置文件(选好自己的扩展目录)
mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/sphinx.so /usr/local/php/ext/
打开/usr/local/php/lib/php.ini, 加入 extension = sphinx.so
4.重启php-fpm
kill -USR `cat /var/run/php-fpm.pid` #php-fpm.conf中指定的pid位置
此时使用phpinfo()已经可以看到Sphinx扩展了
Sphinx API类的形式
在Coreseek的安装包中, coreseek-3.2.14/testpack/api 目录下有各种语言的API, 比如PHP版本, 使用时直接 include 'sphinxapi.php';即可使用Sphinx的相关类操作