MediaWiki  REL1_19
SearchEngine Class Reference

Contain a class for special pages. More...

Inheritance diagram for SearchEngine:

List of all members.

Public Member Functions

 __construct ($db=null)
 acceptListRedirects ()
 If this search backend can list/unlist redirects.
 filter ($text)
 Return a 'cleaned up' search string.
 normalizeText ($string)
 When overridden in derived class, performs database-specific conversions on text to be used for searching or updating search index.
 replacePrefixes ($query)
 Parse some common prefixes: all (search everything) or namespace names.
 searchText ($term)
 Perform a full text search query and return a result set.
 searchTitle ($term)
 Perform a title-only search query and return a result set.
 setFeatureData ($feature, $data)
 Way to pass custom data for engines.
 setLimitOffset ($limit, $offset=0)
 Set the maximum number of results to return and how many to skip before returning the first.
 setNamespaces ($namespaces)
 Set which namespaces the search should include.
 supports ($feature)
 transformSearchTerm ($term)
 Transform search term in cases when parts of the query came as different GET params (when supported) e.g.
 update ($id, $title, $text)
 Create or update the search index record for the given page.
 updateTitle ($id, $title)
 Update a search index record's title only.

Static Public Member Functions

static create ()
 Load up the appropriate search engine class for the currently active database backend, and return a configured instance.
static defaultNamespaces ()
 An array of namespaces indexes to be searched by default.
static getMWSuggestTemplate ()
 Get internal MediaWiki Suggest template.
static getNearMatch ($searchterm)
 If an exact title match can be found, or a very slightly close match, return the title.
static getNearMatchResultSet ($searchterm)
 Do a near match (see SearchEngine::getNearMatch) and wrap it into a SearchResultSet.
static getOpenSearchTemplate ()
 Get OpenSearch suggestion template.
static helpNamespaces ()
 Return the help namespaces to be shown on Special:Search.
static legalSearchChars ()
static namespacesAsText ($namespaces)
 Get a list of namespace names useful for showing in tooltips and preferences.
static searchableNamespaces ()
 Make a list of searchable namespaces and their canonical names.
static userHighlightPrefs ()
 Find snippet highlight settings for all users.
static userNamespaces ($user)
 Extract default namespaces to search from the given user's settings, returning a list of index numbers.

Public Attributes

 $limit = 10
 $namespaces = array( NS_MAIN )
 $offset = 0
 $prefix = ''
 $searchTerms = array()
 $showRedirects = false

Protected Attributes

 $db
 $features = array()
 Feature values.

Static Private Member Functions

static getNearMatchInternal ($searchterm)
 Really find the title match.

Detailed Description

Contain a class for special pages.

Definition at line 17 of file SearchEngine.php.


Constructor & Destructor Documentation

SearchEngine::__construct ( db = null)

Reimplemented in SearchOracle, SearchPostgres, SearchMySQL, SearchSqlite, SearchIBM_DB2, SearchMssql, and MockSearch.

Definition at line 33 of file SearchEngine.php.

References $db, and wfGetDB().

Here is the call graph for this function:


Member Function Documentation

If this search backend can list/unlist redirects.

Deprecated:
since 1.18 Call supports( 'list-redirects' );

Definition at line 69 of file SearchEngine.php.

References supports(), and wfDeprecated().

Here is the call graph for this function:

static SearchEngine::create ( ) [static]

Load up the appropriate search engine class for the currently active database backend, and return a configured instance.

Returns:
SearchEngine

Definition at line 433 of file SearchEngine.php.

References $dbr, $wgSearchType, and wfGetDB().

Referenced by SearchUpdate\doUpdate(), SpecialSearch\getSearchEngine(), and ApiQuerySearch\run().

Here is the call graph for this function:

Here is the caller graph for this function:

static SearchEngine::defaultNamespaces ( ) [static]

An array of namespaces indexes to be searched by default.

Returns:
Array

Definition at line 383 of file SearchEngine.php.

References $wgNamespacesToBeSearchedDefault.

Referenced by getOpenSearchTemplate(), SpecialSearch\getSearchProfiles(), and SpecialSearchTest\provideSearchOptionsTests().

Here is the caller graph for this function:

SearchEngine::filter ( text)

Return a 'cleaned up' search string.

Parameters:
$textString
Returns:
String

Definition at line 423 of file SearchEngine.php.

References legalSearchChars().

Referenced by SearchMySQL\searchInternal(), and SearchSqlite\searchInternal().

Here is the call graph for this function:

Here is the caller graph for this function:

Get internal MediaWiki Suggest template.

Returns:
String

Definition at line 495 of file SearchEngine.php.

References $wgMWSuggestTemplate, $wgServer, and wfScript().

Referenced by ResourceLoaderStartUpModule\getConfig().

Here is the call graph for this function:

Here is the caller graph for this function:

static SearchEngine::getNearMatch ( searchterm) [static]

If an exact title match can be found, or a very slightly close match, return the title.

If no match, returns NULL.

Parameters:
$searchtermString
Returns:
Title

Definition at line 130 of file SearchEngine.php.

References $title, getNearMatchInternal(), and wfRunHooks().

Referenced by getNearMatchInternal(), and SpecialSearch\goResult().

Here is the call graph for this function:

Here is the caller graph for this function:

static SearchEngine::getNearMatchInternal ( searchterm) [static, private]

Really find the title match.

Definition at line 151 of file SearchEngine.php.

References $matches, $page, $title, $wgContLang, $wgEnableSearchContributorsByIP, WikiPage\factory(), getNearMatch(), SpecialPage\getTitleFor(), User\isIP(), Title\makeTitle(), Title\newFromText(), wfFindFile(), and wfRunHooks().

Referenced by getNearMatch().

Here is the call graph for this function:

Here is the caller graph for this function:

static SearchEngine::getNearMatchResultSet ( searchterm) [static]

Do a near match (see SearchEngine::getNearMatch) and wrap it into a SearchResultSet.

Parameters:
$searchtermstring
Returns:
SearchResultSet

Definition at line 144 of file SearchEngine.php.

Referenced by ApiQuerySearch\run().

Here is the caller graph for this function:

Get OpenSearch suggestion template.

Returns:
String

Definition at line 477 of file SearchEngine.php.

References $wgCanonicalServer, $wgOpenSearchTemplate, defaultNamespaces(), and wfScript().

Here is the call graph for this function:

static SearchEngine::helpNamespaces ( ) [static]

Return the help namespaces to be shown on Special:Search.

Returns:
Array

Definition at line 411 of file SearchEngine.php.

References $wgNamespacesToBeSearchedHelp.

Referenced by SpecialSearch\getSearchProfiles().

Here is the caller graph for this function:

static SearchEngine::legalSearchChars ( ) [static]

Reimplemented in SearchOracle, SearchMySQL, and SearchSqlite.

Definition at line 259 of file SearchEngine.php.

Referenced by SearchUpdate\doUpdate(), filter(), Title\indexTitle(), SearchIBM_DB2\parseQuery(), and SearchMssql\parseQuery().

Here is the caller graph for this function:

static SearchEngine::namespacesAsText ( namespaces) [static]

Get a list of namespace names useful for showing in tooltips and preferences.

Parameters:
$namespacesArray

Definition at line 395 of file SearchEngine.php.

References $namespaces, $wgContLang, and wfMsg().

Referenced by SpecialSearch\getSearchProfiles().

Here is the call graph for this function:

Here is the caller graph for this function:

When overridden in derived class, performs database-specific conversions on text to be used for searching or updating search index.

Default implementation does nothing (simply returns $string).

Parameters:
$stringstring: String to process
Returns:
string

Reimplemented in SearchMySQL.

Definition at line 108 of file SearchEngine.php.

References $wgContLang.

Parse some common prefixes: all (search everything) or namespace names.

Parameters:
$queryString

Definition at line 291 of file SearchEngine.php.

References $prefix, $wgContLang, wfMsgForContent(), and wfRunHooks().

Here is the call graph for this function:

Make a list of searchable namespaces and their canonical names.

Returns:
Array

Definition at line 324 of file SearchEngine.php.

References $wgContLang, and wfRunHooks().

Referenced by User\getDefaultOptions(), SpecialSearch\getSearchProfiles(), Preferences\loadOldSearchNs(), SpecialSearch\powerSearch(), SpecialSearch\powerSearchBox(), and userNamespaces().

Here is the call graph for this function:

Here is the caller graph for this function:

Perform a full text search query and return a result set.

If title searches are not supported or disabled, return null. STUB

Parameters:
$termString: raw search term
Returns:
SearchResultSet

Reimplemented in SearchMySQL, SearchSqlite, SearchOracle, SearchPostgres, SearchIBM_DB2, and SearchMssql.

Definition at line 49 of file SearchEngine.php.

Perform a title-only search query and return a result set.

If title searches are not supported or disabled, return null. STUB

Parameters:
$termString: raw search term
Returns:
SearchResultSet

Reimplemented in SearchMySQL, SearchSqlite, SearchOracle, SearchIBM_DB2, SearchMssql, and SearchPostgres.

Definition at line 61 of file SearchEngine.php.

SearchEngine::setFeatureData ( feature,
data 
)

Way to pass custom data for engines.

Since:
1.18
Parameters:
$featureString
$dataMixed
Returns:
Noolean

Definition at line 96 of file SearchEngine.php.

SearchEngine::setLimitOffset ( limit,
offset = 0 
)

Set the maximum number of results to return and how many to skip before returning the first.

Parameters:
$limitInteger
$offsetInteger

Definition at line 270 of file SearchEngine.php.

References $limit, and $offset.

SearchEngine::setNamespaces ( namespaces)

Set which namespaces the search should include.

Give an array of namespace index numbers.

Parameters:
$namespacesArray

Definition at line 281 of file SearchEngine.php.

References $namespaces.

SearchEngine::supports ( feature)
Since:
1.18
Parameters:
$featureString
Returns:
Boolean

Reimplemented in SearchMySQL.

Definition at line 79 of file SearchEngine.php.

Referenced by acceptListRedirects().

Here is the caller graph for this function:

Transform search term in cases when parts of the query came as different GET params (when supported) e.g.

for prefix queries: search=test&prefix=Main_Page/Archive -> test prefix:Main Page/Archive

Definition at line 119 of file SearchEngine.php.

SearchEngine::update ( id,
title,
text 
)

Create or update the search index record for the given page.

Title and text should be pre-processed. STUB

Parameters:
$idInteger
$titleString
$textString

Reimplemented in SearchMySQL, SearchSqlite, SearchOracle, SearchPostgres, SearchIBM_DB2, SearchMssql, and MockSearch.

Definition at line 456 of file SearchEngine.php.

SearchEngine::updateTitle ( id,
title 
)

Update a search index record's title only.

Title should be pre-processed. STUB

Parameters:
$idInteger
$titleString

Reimplemented in SearchMySQL, SearchSqlite, SearchOracle, SearchIBM_DB2, SearchPostgres, and SearchMssql.

Definition at line 468 of file SearchEngine.php.

static SearchEngine::userHighlightPrefs ( ) [static]

Find snippet highlight settings for all users.

Returns:
Array contextlines, contextchars

Definition at line 372 of file SearchEngine.php.

Referenced by SearchResult\getTextSnippet().

Here is the caller graph for this function:

static SearchEngine::userNamespaces ( user) [static]

Extract default namespaces to search from the given user's settings, returning a list of index numbers.

Parameters:
$userUser
Returns:
Array

Definition at line 344 of file SearchEngine.php.

References $user, $wgSearchEverythingOnlyLoggedIn, and searchableNamespaces().

Referenced by OutputPage\getJSVars(), and SpecialSearch\load().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

SearchEngine::$db [protected]
SearchEngine::$features = array() [protected]

Feature values.

Definition at line 26 of file SearchEngine.php.

SearchEngine::$limit = 10

Definition at line 18 of file SearchEngine.php.

Referenced by setLimitOffset().

SearchEngine::$offset = 0

Definition at line 19 of file SearchEngine.php.

Referenced by setLimitOffset().

SearchEngine::$prefix = ''

Definition at line 20 of file SearchEngine.php.

Referenced by replacePrefixes().

SearchEngine::$searchTerms = array()

Definition at line 21 of file SearchEngine.php.

SearchEngine::$showRedirects = false

Definition at line 23 of file SearchEngine.php.


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