MediaWiki REL1_40
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.
 
 validateNamespaces ( $namespaces)
 Validate an array of numerical namespace indexes.
 

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

References $dbr, $res, $title, DB_REPLICA, LIST_AND, LIST_OR, NS_MAIN, NS_SPECIAL, specialSearch(), and wfGetDB().

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 45 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 119 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 68 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 158 of file PrefixSearch.php.

References $keys, $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().

◆ validateNamespaces()

PrefixSearch::validateNamespaces ( $namespaces)
protected

Validate an array of numerical namespace indexes.

Parameters
array$namespaces
Returns
array (default: contains only NS_MAIN)

Definition at line 302 of file PrefixSearch.php.

References NS_MAIN.


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