友善交流技术...

php 调用 sphinx

上一篇 / 下一篇  2011-06-22 18:13:11 / 个人分类:开发代码

<?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>';
}
?>

 


TAG:

 

评分:0

我来说两句

Open Toolbar