Задача. Определить количество найденных документов по аттрибуту.
Делаю так, но что-то не катит.
У меня есть документы (id) и их "владелец" courId, нужно слева вывести блок, в отором бы были все владельцы а в скобках - количество найденных документов в этих "владельцах".
Делаю так, но что-то не катит.
PHP:
$sphinx = new SphinxClient();
$sphinx->SetServer($this->_sphinxHost, $this->_sphinxPort);
$sphinx->SetLimits($this->paginator()->getStart(), $this->paginator()->getPerPage(), 500);
$sphinx->SetConnectTimeout(5);
//$sphinx->SetMatchMode();
switch (isset($_GET['sortmode']) ? $_GET['sortmode'] : "relevance") {
case "date": $sphinx->setSortMode(SPH_SORT_TIME_SEGMENTS, 'resultDate'); break;
case "relevance": $sphinx->setSortMode(SPH_SORT_RELEVANCE); break;
default:
page404();
}
$sphinx->SetGroupBy('courId', SPH_GROUPBY_ATTR, "@count desc");
$sphinx->SetArrayResult(true);
$result = $sphinx->Query($this->getQuery(), "docs");
echo "<pre>"; var_dump($result); echo "</pre>";
if ($sphinx->GetLastError()) {
$this->setError($sphinx->GetLastError());
return false;
}
if (!isset($result['matches']) || !sizeof($result['matches'])) {
return $this;
}
$this->setTotal($result['total'])->setTotalFound($result['total_found'])->paginator()->setTotalCount($result['total']);