>백엔드 개발 >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으로 문의하세요.