示例#1
0
 static function getSphinxHits($query, $page = 1, $num = 20, array $listIds = null, $aliases = true, $primary_ext = null)
 {
     $s = new LsSphinxClient();
     $s->SetServer('localhost', 3312);
     $s->SetMatchMode(SPH_MATCH_EXTENDED);
     $s->SetFieldWeights(array('name' => 3, 'aliases' => 3));
     $s->SetLimits(($page - 1) * $num, $num);
     if (is_array($listIds) && count($listIds)) {
         $s->setFilter('list_ids', $listIds);
     }
     $query = $s->buildEntityQuery($query, $aliases, $primary_ext);
     $result = $s->Query($query, 'entities entities_delta');
     if ($result === false) {
         throw new Exception("Sphinx search failed: " . $s->getLastError());
     }
     return $result;
 }