public function SearchQuery::addScore

Adds a custom score expression to the search query.

Each score expression can optionally use a multiplier, and multiple expressions are combined.

Parameters

$score: The score expression.

$arguments: Custom query arguments for that expression.

$multiply: If set, the score is multiplied with that value. Search query ensures that the search scores are still normalized.

2 calls to SearchQuery::addScore()
SearchQuery::execute in drupal-7.x/modules/search/search.extender.inc
Executes the search.
SearchQuery::execute in drupal-7.x/modules/search/search.extender.inc
Executes the search.

Archivo

drupal-7.x/modules/search/search.extender.inc, line 405
Search query extender and helper functions.

Class

SearchQuery
Do a query on the full-text search index for a word or words.

Código

public function addScore($score, $arguments = array(), $multiply = FALSE) {
  if ($multiply) {
    $i = count($this->multiply);
    $score = "CAST(:multiply_$i AS DECIMAL) * COALESCE(( " . $score . "), 0) / CAST(:total_$i AS DECIMAL)";
    $arguments[':multiply_' . $i] = $multiply;
    $this->multiply[] = $multiply;
  }

  $this->scores[] = $score;
  $this->scoresArguments += $arguments;

  return $this;
}