MediaWiki master
PrefixSearch Class Reference

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

Inherited by StringPrefixSearch, and 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 39 of file PrefixSearch.php.

Member Function Documentation

◆ defaultSearchBackend()

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 251 of file PrefixSearch.php.

References NS_MAIN, NS_SPECIAL, and specialSearch().

Referenced by searchBackend(), and SearchEngine\simplePrefixSearch().

◆ 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 49 of file PrefixSearch.php.

References searchBackend().

Referenced by searchWithVariants().

◆ searchBackend()

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 123 of file PrefixSearch.php.

References defaultSearchBackend(), NS_FILE, NS_MEDIA, NS_SPECIAL, specialSearch(), strings(), and titles().

Referenced by search().

◆ searchWithVariants()

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 72 of file PrefixSearch.php.

References search().

◆ specialSearch()

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 162 of file PrefixSearch.php.

References $matches, and NS_SPECIAL.

Referenced by defaultSearchBackend(), and searchBackend().

◆ strings()

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 StringPrefixSearch, and TitlePrefixSearch.

Referenced by searchBackend().

◆ titles()

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 StringPrefixSearch, and TitlePrefixSearch.

Referenced by searchBackend().


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