а там уже стоит OPTION, просто через запятую дописывать? и ещё sph04 сам вес расставляет? как он понимает что title выше всех остальных?
}
$ts = time()-CTimeZone::GetOffset();
if ($bTagsCloud)
{
$sql = "
select groupby() tag_id
,count(*) cnt
,max(date_change) dc_tmp
,if(date_to, date_to, ".$ts.") date_to_nvl
,if(date_from, date_from, ".$ts.") date_from_nvl
".($cond1 != ""? ",$cond1 as cond1": "")."
from ".$this->indexName."
where ".implode("\nand\t", $arWhere)."
group by tags
order by cnt desc
limit 0, ".$limit."
option max_matches = ".$limit."
";
$DB = CDatabase::GetModuleConnection('search');
$startTime = microtime(true);
$r = $this->query($sql);
if($DB->ShowSqlStat)
$DB->addDebugQuery($sql, microtime(true)-$startTime);
if (!$r)
{
throw new \Bitrix\Main\Db\SqlQueryException('Sphinx select error', $this->getError(), $sql);
}
else
{
while($res = $this->fetch($r))
$result[] = $res;
}
}
else
{
$sql = "
select id
,item
,param1
,param2
,module_id
,param2_id
,date_change
,custom_rank
,weight() as rank
".($cond1 != ""? ",$cond1 as cond1": "")."
,if(date_to, date_to, ".$ts.") date_to_nvl
,if(date_from, date_from, ".$ts.") date_from_nvl
from ".$this->indexName."
where ".implode("\nand\t", $arWhere)."
".$this->__PrepareSort($aSort)."
limit ".$offset.", ".$limit."
option max_matches = ".($offset + $limit)."
";