有时候,我们查询的时候不需要把所有的字段都检索出来,只需要查询某个就可以了。例如,我们只需要检索标题中包含“中国”的内容,标题的数据表字段是title
在代码中,我们需要这样来干就可以了
前面的我就略过不写了
<? $tcol = null; $mode = SPH_MATCH_ALL; $cl = new SphinxClient ( ); $cl->SetServer ( $host, $port ); $cl->SetConnectTimeout ( 1 ); $cl->SetWeights ( array (100, 1 ) ); $cl->SetLimits ( $off, $limit, ($limit > 10000) ? $limit : 10000 ); $cl->SetRankingMode ( $ranker ); $cl->SetArrayResult ( true ); if ($m == 'title') { $mode = SPH_MATCH_EXTENDED; $tcol = '@' . $m . ' '; } $cl->SetMatchMode ( $mode ); $res = $cl->Query ( $tcol . join ( " ", $keywords ), $index ); ?>
恩,就是这样,很简单。不过如果内容是数字的,貌似不行,不知道为什么,有待继续研究