return $sugg->getSuggestedTitle()->getPrefixedText();
} );
- // Rescore results with an exact title match
- // NOTE: in some cases like cross-namespace redirects
- // (frequently used as shortcuts e.g. WP:WP on huwiki) some
- // backends like Cirrus will return no results. We should still
- // try an exact title match to workaround this limitation
- $rescorer = new SearchExactMatchRescorer();
- $rescoredResults = $rescorer->rescore( $search, $this->namespaces, $results, $this->limit );
+ if ( $this->offset === 0 ) {
+ // Rescore results with an exact title match
+ // NOTE: in some cases like cross-namespace redirects
+ // (frequently used as shortcuts e.g. WP:WP on huwiki) some
+ // backends like Cirrus will return no results. We should still
+ // try an exact title match to workaround this limitation
+ $rescorer = new SearchExactMatchRescorer();
+ $rescoredResults = $rescorer->rescore( $search, $this->namespaces, $results, $this->limit );
+ } else {
+ // No need to rescore if offset is not 0
+ // The exact match must have been returned at position 0
+ // if it existed.
+ $rescoredResults = $results;
+ }
if ( count( $rescoredResults ) > 0 ) {
$found = array_search( $rescoredResults[0], $results );
* - default: set to true if this profile is the default
*
* @since 1.28
- * @param $profileType the type of profiles
+ * @param string $profileType the type of profiles
+ * @param User|null $user the user requesting the list of profiles
* @return array|null the list of profiles or null if none available
*/
- public function getProfiles( $profileType ) {
+ public function getProfiles( $profileType, User $user = null ) {
return null;
}