来源:未知 时间:2015-12-02 12:03 作者:xxadmin 阅读:次
[导读] php如何调用sphinx(coreseek)详解 下面为大家带来PHP如何调用sphinx实列 ?phpincludeSphinxClient.class.php;header(Content-Type:text/html;charset=UTF-8);if($_GET){//关键词$keyword=urldecode(trim(strip_tags($_GET[keyword])));...
php如何调用sphinx(coreseek)详解 下面为大家带来PHP如何调用sphinx实列 <?php include 'SphinxClient.class.php'; header('Content-Type: text/html;charset="UTF-8"'); if ($_GET) { // 关键词 $keyword = urldecode(trim(strip_tags($_GET['keyword']))); $keyword = "二手房" ; if ($keyword) { // 包含Sphinx的api文件 // require_once 'sphinxapi.php'; // sphinx服务器地址 $server = '10.115.12.78'; // 端口 $port = 9312; // 索引名 为*时表示搜索所有索引 $indexName = 'idx_sale_beijing'; // 分页页码 $page = intval($_GET['page']) > 1 ? intval($_GET['page']) : 1; // 每页显示的数量 $pageSize = 30; $sphinx = new SphinxClient(); // 建立连接 $sphinx->SetServer($server, $port); // 连接超时时间(非常必要,比如sphinx服务器挂了等异常情况) 单位为s,秒 $sphinx->SetConnectTimeout(3); // 最大查询时间 单位为ms,毫秒 $sphinx->SetMaxQueryTime(2000); // 按分页取结果 $sphinx->SetLimits(($page-1)*$pageSize, $pageSize); //第一个参数为offset,第二个参数为limit // 模式 // $sphinx->SetMatchMode(SPH_MATCH_EXTENDED); // 取到的原始数据 $orgDatas = $sphinx->Query($keyword, $indexName); // 调试用,如果有错误的话,可以打印$errors的值 $errors = $sphinx->GetLastError(); var_dump($errors); // echo '<pre>'; // var_dump($orgDatas); $sp_error= $sphinx->Status() ; $sp_client= $sphinx->GetLastWarning(); print_r($sp_client); /* // 下面是对结果的处理 $datas = array('goods'=>array(),'total'=>0); if ($orgDatas['total'] > 0) { $datas['total'] = $orgDatas['total']; foreach ($orgDatas['matches'] AS $val) { $val['attrs']['goods_id'] = $val['attrs']['goods_id_new']; unset($val['attrs']['goods_id_new']); $datas['goods'][] = $val['attrs']; } } var_dump($datas); */ } } else { echo '<form. method="get"><input type="type" name="keyword"><input type="submit" value="商品搜索"></form>'; } ?> |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com