本文整理汇总了PHP中SphinxClient::setRankingMode方法的典型用法代码示例。如果您正苦于以下问题:PHP SphinxClient::setRankingMode方法的具体用法?PHP SphinxClient::setRankingMode怎么用?PHP SphinxClient::setRankingMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SphinxClient
的用法示例。
在下文中一共展示了SphinxClient::setRankingMode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bindToSphinx
/**
* Adds this query to the SphinxClient $sphinx
*
* Adding the query resets the passed SphinxClient so that no existing
* filters or group bys or sort order etc are inherited by this query.
* The query details are then injected into Sphinx, and the resulting
* id passed back to this query allowing the results to be mapped to
* the query.
*
* @param \SphinxClient $sphinx
*
* @return $this
*/
public function bindToSphinx(\SphinxClient $sphinx)
{
$sphinx->resetFilters();
$sphinx->resetGroupBy();
$sphinx->setRankingMode($this->rankingMode);
if ($this->groupBy instanceof GroupBy) {
$this->groupBy->bindToSphinx($sphinx);
}
$this->sortBy->bindToSphinx($sphinx);
$this->limits->bindToSphinx($sphinx);
/* @var FilterInterface $filter */
foreach ($this->filters as $filter) {
$filter->bindToSphinx($sphinx);
}
if ($this->builder instanceof Builder && !$this->query) {
$this->query = $this->builder->getQuery();
}
$this->id = $sphinx->addQuery($this->query, $this->index->getIndexName());
return $this;
}
示例2: fetch
public function fetch()
{
if (!class_exists('SphinxClient')) {
return false;
}
$s = new SphinxClient();
$s->setServer($this->_sphinxHost, $this->_sphinxPort);
if (count($this->_arrSearchOutRangeColumnMinMax) > 0) {
foreach ($this->_arrSearchOutRangeColumnMinMax as $value) {
$d = explode(',', $value);
$s->setFilterRange($d[0], $d[1], $d[2], true);
}
}
if (count($this->_arrSearchInRangeColumnMinMax) > 0) {
foreach ($this->_arrSearchInRangeColumnMinMax as $value) {
$d = explode(',', $value);
$s->setFilterRange($d[0], $d[1], $d[2], false);
}
}
$s->setConnectTimeout($this->_connectTimeout);
$s->setMaxQueryTime($this->{$_maxquerytime});
// $s->setRetries ( int $this->retriesCount , int $this->retriesDelay );
//
$s->setMatchMode($this->searchMode);
$s->setFieldWeights($this->_fieldweights);
// $s->setFilter ( string $attribute , array $values [, bool $exclude = false ] );
// $s->setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude = false ] );
// $s->setFilterRange ( string $attribute , int $min , int $max [, bool $exclude = false ] );
// $s->setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude );
// $s->setGroupBy ( string $attribute , int $func [, string $groupsort = "@group desc" ] );
// $s->setGroupDistinct ( string $attribute );
// $s->setIDRange ( int $min , int $max );
$s->setIndexWeights($this->_arrIndexweights);
// $s->setLimits ( int $offset , int $limit [, int $max_matches = 0 [, int $cutoff = 0 ]] );
$s->setMatchMode($this->searchMode);
// $s->setOverride ( string $attribute , int $type , array $values );
$s->setRankingMode($this->rankMode);
// $s->setSelect ( string $clause );
// $s->setSortMode ( int $mode [, string $sortby ] );
return $s->query($this->_query);
}
示例3: resetCriteria
/**
* @brief reset search criteria to default
* @details reset conditions and set default search options
*/
public function resetCriteria()
{
if (is_object($this->criteria)) {
$this->lastCriteria = clone $this->criteria;
} else {
$this->lastCriteria = new ESphinxCriteria();
}
$this->criteria = new ESphinxCriteria();
$this->criteria->query = '';
$this->client->resetFilters();
$this->client->resetGroupBy();
$this->client->setArrayResult(false);
$this->client->setMatchMode($this->matchMode);
$this->client->setRankingMode($this->rankMode);
$this->client->setSortMode(SPH_SORT_RELEVANCE, '@relevance DESC');
$this->client->setLimits(0, 1000000, 2000);
if (!empty($this->fieldWeights)) {
$this->client->setFieldWeights($this->fieldWeights);
}
}