MediaWiki  REL1_20
SearchEngine Class Reference

Contain a class for special pages. More...

Inheritance diagram for SearchEngine:
Collaboration 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 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

DatabaseBase $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 32 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 47 of file SearchEngine.php.

References $db, and wfGetDB().


Member Function Documentation

If this search backend can list/unlist redirects.

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

Definition at line 84 of file SearchEngine.php.

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 451 of file SearchEngine.php.

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

static SearchEngine::defaultNamespaces ( ) [static]

An array of namespaces indexes to be searched by default.

Returns:
Array

Definition at line 400 of file SearchEngine.php.

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

SearchEngine::filter ( text)

Return a 'cleaned up' search string.

Parameters:
$textString
Returns:
String

Definition at line 441 of file SearchEngine.php.

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

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 145 of file SearchEngine.php.

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

Really find the title match.

Returns:
null|

Definition at line 167 of file SearchEngine.php.

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 159 of file SearchEngine.php.

Referenced by ApiQuerySearch\run().

Get OpenSearch suggestion template.

Returns:
String

Definition at line 495 of file SearchEngine.php.

static SearchEngine::helpNamespaces ( ) [static]

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

Returns:
Array

Definition at line 429 of file SearchEngine.php.

Referenced by SpecialSearch\getSearchProfiles().

static SearchEngine::namespacesAsText ( namespaces) [static]

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

Parameters:
$namespacesArray
Returns:
array

Definition at line 413 of file SearchEngine.php.

Referenced by SpecialSearch\getSearchProfiles().

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

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

Parameters:
$queryString
Returns:
string

Definition at line 308 of file SearchEngine.php.

Make a list of searchable namespaces and their canonical names.

Returns:
Array

Definition at line 341 of file SearchEngine.php.

Referenced by SpecialSearch\getSearchProfiles(), and Preferences\loadOldSearchNs().

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 63 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 75 of file SearchEngine.php.

SearchEngine::setFeatureData ( feature,
data 
)

Way to pass custom data for engines.

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

Definition at line 111 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 286 of file SearchEngine.php.

SearchEngine::setNamespaces ( namespaces)

Set which namespaces the search should include.

Give an array of namespace index numbers.

Parameters:
$namespacesArray

Definition at line 297 of file SearchEngine.php.

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

Reimplemented in SearchMySQL.

Definition at line 94 of file SearchEngine.php.

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 134 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 474 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, SearchMssql, and SearchPostgres.

Definition at line 486 of file SearchEngine.php.

static SearchEngine::userHighlightPrefs ( ) [static]

Find snippet highlight settings for all users.

Returns:
Array contextlines, contextchars

Definition at line 389 of file SearchEngine.php.

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 361 of file SearchEngine.php.


Member Data Documentation

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

Feature values.

Definition at line 41 of file SearchEngine.php.

SearchEngine::$limit = 10

Definition at line 33 of file SearchEngine.php.

SearchEngine::$namespaces = array( NS_MAIN )
SearchEngine::$offset = 0

Definition at line 34 of file SearchEngine.php.

SearchEngine::$prefix = ''

Definition at line 35 of file SearchEngine.php.

SearchEngine::$searchTerms = array()

Definition at line 36 of file SearchEngine.php.

SearchEngine::$showRedirects = false

Definition at line 38 of file SearchEngine.php.


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