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的相关类操作

原文地址:https://www.cnblogs.com/JohnABC/p/4734027.html