MediaWiki master
MediaWiki\Search\PrefixSearch Class Reference

Handles searching prefixes of titles and finding any page names that match. More...

Inherited by MediaWiki\Search\StringPrefixSearch, and MediaWiki\Search\TitlePrefixSearch.

Public Member Functions

 defaultSearchBackend ( $namespaces, $search, $limit, $offset)
 Unless overridden by PrefixSearchBackend hook... This is case-sensitive (First character may be automatically capitalized by Title::secureAndSpit() later on depending on $wgCapitalLinks)
 
 search ( $search, $limit, $namespaces=[], $offset=0)
 Do a prefix search of titles and return a list of matching page names.
 
 searchWithVariants ( $search, $limit, array $namespaces, $offset=0)
 Do a prefix search for all possible variants of the prefix.
 

Protected Member Functions

 searchBackend ( $namespaces, $search, $limit, $offset)
 Do a prefix search of titles and return a list of matching page names.
 
 specialSearch ( $search, $limit, $offset)
 Prefix search special-case for Special: namespace.
 
 strings (array $strings)
 When implemented in a descendant class, receives an array of titles as strings and returns either an unmodified array or an array of Title objects corresponding to strings received.
 
 titles (array $titles)
 When implemented in a descendant class, receives an array of Title objects and returns either an unmodified array or an array of strings corresponding to titles passed to it.
 

Detailed Description

Handles searching prefixes of titles and finding any page names that match.

Used largely by the OpenSearch implementation.

Deprecated
Since 1.27, Use SearchEngine::defaultPrefixSearch or SearchEngine::completionSearch
Stability: stable
to extend

Definition at line 26 of file PrefixSearch.php.

Member Function Documentation

◆ defaultSearchBackend()

MediaWiki\Search\PrefixSearch::defaultSearchBackend ( $namespaces,
$search,
$limit,
$offset )

Unless overridden by PrefixSearchBackend hook... This is case-sensitive (First character may be automatically capitalized by Title::secureAndSpit() later on depending on $wgCapitalLinks)

Parameters
int[] | null$namespacesNamespaces to search in
string$searchTerm
int$limitMax number of items to return
int$offsetNumber of items to skip
Returns
Title[]

Definition at line 240 of file PrefixSearch.php.

References MediaWiki\MediaWikiServices\getInstance(), NS_MAIN, and NS_SPECIAL.

Referenced by MediaWiki\Search\PrefixSearch\searchBackend(), and MediaWiki\Search\SearchEngine\simplePrefixSearch().

◆ search()

MediaWiki\Search\PrefixSearch::search ( $search,
$limit,
$namespaces = [],
$offset = 0 )

Do a prefix search of titles and return a list of matching page names.

Parameters
string$search
int$limit
array$namespacesUsed if query is not explicitly prefixed
int$offsetHow many results to offset from the beginning
Returns
(Title|string)[]

Definition at line 36 of file PrefixSearch.php.

References MediaWiki\Search\SearchEngine\parseNamespacePrefixes(), and MediaWiki\Search\PrefixSearch\searchBackend().

Referenced by MediaWiki\Search\PrefixSearch\searchWithVariants().

◆ searchBackend()

MediaWiki\Search\PrefixSearch::searchBackend ( $namespaces,
$search,
$limit,
$offset )
protected

Do a prefix search of titles and return a list of matching page names.

Parameters
int[]$namespaces
string$search
int$limit
int$offsetHow many results to offset from the beginning
Returns
(Title|string)[]

Definition at line 110 of file PrefixSearch.php.

References MediaWiki\Search\PrefixSearch\defaultSearchBackend(), MediaWiki\MediaWikiServices\getInstance(), NS_FILE, NS_MEDIA, NS_SPECIAL, MediaWiki\Search\PrefixSearch\specialSearch(), MediaWiki\Search\PrefixSearch\strings(), and MediaWiki\Search\PrefixSearch\titles().

Referenced by MediaWiki\Search\PrefixSearch\search().

◆ searchWithVariants()

MediaWiki\Search\PrefixSearch::searchWithVariants ( $search,
$limit,
array $namespaces,
$offset = 0 )

Do a prefix search for all possible variants of the prefix.

Parameters
string$search
int$limit
array$namespaces
int$offsetHow many results to offset from the beginning
Returns
(Title|string)[]

Definition at line 59 of file PrefixSearch.php.

References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\Search\PrefixSearch\search().

◆ specialSearch()

MediaWiki\Search\PrefixSearch::specialSearch ( $search,
$limit,
$offset )
protected

Prefix search special-case for Special: namespace.

Parameters
string$searchTerm
int$limitMax number of items to return
int$offsetNumber of items to offset
Returns
array

Definition at line 151 of file PrefixSearch.php.

References $matches, MediaWiki\MediaWikiServices\getInstance(), and NS_SPECIAL.

Referenced by MediaWiki\Search\PrefixSearch\searchBackend().

◆ strings()

MediaWiki\Search\PrefixSearch::strings ( array $strings)
abstractprotected

When implemented in a descendant class, receives an array of titles as strings and returns either an unmodified array or an array of Title objects corresponding to strings received.

Parameters
string[]$strings
Returns
(Title|string)[]

Reimplemented in MediaWiki\Search\StringPrefixSearch, and MediaWiki\Search\TitlePrefixSearch.

Referenced by MediaWiki\Search\PrefixSearch\searchBackend().

◆ titles()

MediaWiki\Search\PrefixSearch::titles ( array $titles)
abstractprotected

When implemented in a descendant class, receives an array of Title objects and returns either an unmodified array or an array of strings corresponding to titles passed to it.

Parameters
Title[]$titles
Returns
(Title|string)[]

Reimplemented in MediaWiki\Search\StringPrefixSearch, and MediaWiki\Search\TitlePrefixSearch.

Referenced by MediaWiki\Search\PrefixSearch\searchBackend().


The documentation for this class was generated from the following file: