PHP7的Sphinx扩展安装及使用方法

7 篇文章 0 订阅

安装Sphinx扩展

http://pecl.php.net/package/sphinx发现sphinx的Available Releases版本中没有支持php7的版本,点击Browse Source ] 菜单进去发现已经有了适配php7的源码,以此时最新的版本sphinx-9a3d08c.tar.gz为例

# wget http://git.php.net/?p=pecl/search_engine/sphinx.git;a=snapshot;h=9a3d08c67af0cad216aa0d38d39be71362667738;sf=tgz
# tar zxvf sphinx-9a3d08c.tar.gz
# cd sphinx-9a3d08c
# phpize
# ./configure 
# make && make install

./configure 的时候可能出错,提示

checking for libsphinxclient headers in default path... not found configure: error: Cannot find libsphinxclient headers ,

解决方法如下:

进入coreseek-3.2.14/csft-3.2.14/api/libsphinxclient目录,编译安装libsphinxclient即可

# ./configure 
# make && make install

然后再次编译安装sphinx扩展即可,安装完成后修改php.ini,在末尾添加如下内容

extension = sphinx.so

然后重启php-fpm即可,执行php -m,看到有sphinx扩展说明安装成功

PHP使用sphinx

<?php

$sphinx = new SphinxClient;
$sphinx->setServer("localhost", 9312);
$sphinx->setMatchMode(SPH_MATCH_ANY);   //匹配模式 ANY为关键词自动拆词,ALL为不拆词匹配(完全匹配)
$sphinx->SetArrayResult ( true );	//返回的结果集为数组
$result = $sphinx->query("test","*");	//星号为所有索引源
$count=$result['total'];		//查到的结果条数
$time=$result['time'];			//耗时
$arr=$result['matches'];		//结果集
$id='';
for($i=0;$i<$count;$i++){
	$id.=$arr[$i]['id'].',';
}
$id=substr($id,0,-1);			//结果集的id字符串

注:执行php脚本之前要先启动sphinx服务,在shpinx安装目录的bin目录下执行./searchd 启动sphinx服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值