首页 >后端开发 >php教程 >coreseek里not in 和 关键词为空怎么处理?

coreseek里not in 和 关键词为空怎么处理?

WBOY
WBOY原创
2016-06-23 14:06:041370浏览

linux下coreseek服务已经搭建好,

使用php接口调用
require WEIBO_ROOT . 'source/class/class_sphinx.php' ;
        $cl = new SphinxClient ();
        $sphinx = getglobal('config/sphinx' );
        $cl->SetServer ( $sphinx ['host' ], $sphinx ['port' ]);
        $cl->setMatchMode(SPH_MATCH_ANY);
        $cl->setLimits(0, 5);
        $cl->SetFilter ( "tid", array (68, 69));
        $cl->SetFilter ( "status", array (0));
        $cl->SetFilter ( "top_status", array (2));
        $cl->setFilterRange('pubtime', 0, $_G['timestamp']);
        $cl->SetSortMode ( SPH_SORT_ATTR_DESC, "top_status" );
        $cl->SetSortMode ( SPH_SORT_ATTR_ASC, "totalnum" );
        $res = $cl ->Query ( '我', "library" );
        if (isset ($res ['matches' ])) {
            $cid_arr = array_keys($res ['matches' ]);
            $cids = implode(',' , $cid_arr );
        }
        echo '

';  <br>         //print_r($cl);  <br>          <br>         print_r($res);exit;  <br>  <br> 我要加个cid not in (5,6)这样的条件该怎么加,  <br>  <br> 还有关键词为空时怎么出结果?  <p>  </p>  <br> <h2>回复讨论(解决方案)</h2> <p class="sougouAnswer">  cid not in (5,6)写成:  <br>  $cl->SetFilter ( "tid", array (5,6), true);  <br>    <br> 默认关键次为空是是没有结果的,如果要展现所有信息,需要修改匹配模式为SPH_MATCH_FULLSCAN  <br>  $cl->setMatchMode(SPH_MATCH_FULLSCAN); </p>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn