MediaWiki master
MediaWiki\Search\SearchMySQL Class Reference

Search engine hook for MySQL. More...

Inherits MediaWiki\Search\SearchDatabase.

Collaboration diagram for MediaWiki\Search\SearchMySQL:

Public Member Functions

 delete ( $id, $title)
 Delete an indexed page Title should be pre-processed.
 
 legalSearchChars ( $type=self::CHARS_ALL)
 Get chars legal for search.
Parameters
int$typetype of search chars (see self::CHARS_ALL and self::CHARS_NO_SYNTAX). Defaults to CHARS_ALL
Returns
string

 
 normalizeText ( $string)
 Converts some characters for MySQL's indexing to grok it correctly, and pads short words to overcome limitations.
 
 supports ( $feature)
 
Since
1.18
Stability: stable
to override
Parameters
string$feature
Returns
bool

 
 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.
 
- Public Member Functions inherited from MediaWiki\Search\SearchDatabase
 __construct (IConnectionProvider $dbProvider)
 
 doSearchText ( $term)
 
 doSearchTitle ( $term)
 
- Public Member Functions inherited from MediaWiki\Search\SearchEngine
 augmentSearchResults (ISearchResultSet $resultSet)
 Augment search results with extra data.
 
 completionSearch ( $search)
 Perform a completion search.
 
 completionSearchWithVariants ( $search)
 Perform a completion search with variants.
 
 defaultPrefixSearch ( $search)
 Simple prefix search for subpages.
 
 extractTitles (SearchSuggestionSet $completionResults)
 Extract titles from completion results.
 
 getFeatureData ( $feature)
 Way to retrieve custom data set by setFeatureData or by the engine itself.
 
 getNearMatcher (Config $config)
 Get service class to finding near matches.
 
 getProfiles ( $profileType, ?User $user=null)
 Get a list of supported profiles.
 
 getSearchIndexFields ()
 Get fields for search index.
 
 getSort ()
 Get the sort direction of the search results.
 
 getValidSorts ()
 Get the valid sort directions.
 
 makeSearchFieldMapping ( $name, $type)
 Create a search field definition.
 
 searchArchiveTitle ( $term)
 Perform a title search in the article archive.
 
 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.
 
 setHookContainer (HookContainer $hookContainer)
 
 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.
 
 setShowSuggestion ( $showSuggestion)
 Set whether the searcher should try to build a suggestion.
 
 setSort ( $sort)
 Set the sort direction of the search results.
 

Protected Member Functions

 doSearchTextInDB ( $term)
 Perform a full text search query and return a result set.
 
 doSearchTitleInDB ( $term)
 Perform a title-only search query and return a result set.
 
 minSearchLength ()
 Check MySQL server's ft_min_word_len setting so we know if we need to pad short words...
 
 queryFeatures (SelectQueryBuilder $queryBuilder)
 Add special conditions.
 
 searchInternal (string $term, bool $fulltext)
 
 stripForSearchCallback ( $matches)
 Armor a case-folded UTF-8 string to get through MySQL's fulltext search without being mucked up by funny charset settings or anything else of the sort.
 
- Protected Member Functions inherited from MediaWiki\Search\SearchDatabase
 extractNamespacePrefix ( $term)
 Extract the optional namespace prefix and set self::namespaces accordingly and return the query string.
 
 filter ( $text)
 Return a 'cleaned up' search string.
 
- Protected Member Functions inherited from MediaWiki\Search\SearchEngine
 completionSearchBackend ( $search)
 Perform a completion search.
 
 completionSearchBackendOverfetch ( $search)
 Perform an overfetch of completion search results.
 
 doSearchArchiveTitle ( $term)
 Perform a title search in the article archive.
 
 getHookContainer ()
 Get a HookContainer, for running extension hooks or for hook metadata.
 
 getHookRunner ()
 Get a HookRunner for running core hooks.
 
 normalizeNamespaces ( $search)
 Makes search simple string if it was namespaced.
 
 processCompletionResults ( $search, SearchSuggestionSet $suggestions)
 Process completion search results.
 
 simplePrefixSearch ( $search)
 Call out to simple search backend.
 

Protected Attributes

bool $strictMatching = true
 
- Protected Attributes inherited from MediaWiki\Search\SearchDatabase
IConnectionProvider $dbProvider
 
string[] $searchTerms = []
 search terms
 
- Protected Attributes inherited from MediaWiki\Search\SearchEngine
array $features = []
 Feature values.
 
int $limit = 10
 
int $offset = 0
 
string[] $searchTerms = []
 
bool $showSuggestion = true
 
const CHARS_ALL = 1
 Integer flag for legalSearchChars: includes all chars allowed in a search query.
 
const CHARS_NO_SYNTAX = 2
 Integer flag for legalSearchChars: includes all chars allowed in a search term.
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\Search\SearchEngine
static parseNamespacePrefixes ( $query, $withAllKeyword=true, $withPrefixSearchExtractNamespaceHook=false)
 Parse some common prefixes: all (search everything) or namespace names.
 
static userHighlightPrefs ()
 Find snippet highlight settings for all users.
 
- Public Attributes inherited from MediaWiki\Search\SearchEngine
int[] null $namespaces = [ NS_MAIN ]
 
string $prefix = ''
 
const COMPLETION_PROFILE_TYPE = 'completionSearchProfile'
 Profile type for completionSearch.
 
const DEFAULT_SORT = 'relevance'
 
const FT_QUERY_DEP_PROFILE_TYPE = 'fulltextQueryDepProfile'
 Profile type for query dependent ranking features (ex: field weights)
 
const FT_QUERY_INDEP_PROFILE_TYPE = 'fulltextQueryIndepProfile'
 Profile type for query independent ranking features (ex: article popularity)
 
- Static Protected Member Functions inherited from MediaWiki\Search\SearchEngine
static defaultNearMatcher ()
 Get near matcher for default SearchEngine.
 

Detailed Description

Search engine hook for MySQL.

Definition at line 25 of file SearchMySQL.php.

Member Function Documentation

◆ delete()

MediaWiki\Search\SearchMySQL::delete ( $id,
$title )

Delete an indexed page Title should be pre-processed.

Parameters
int$idPage id that was deleted
string$titleTitle of page that was deleted

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 354 of file SearchMySQL.php.

◆ doSearchTextInDB()

MediaWiki\Search\SearchMySQL::doSearchTextInDB ( $term)
protected

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

Parameters
string$termRaw search term
Returns
SqlSearchResultSet|null

Reimplemented from MediaWiki\Search\SearchDatabase.

Definition at line 177 of file SearchMySQL.php.

◆ doSearchTitleInDB()

MediaWiki\Search\SearchMySQL::doSearchTitleInDB ( $term)
protected

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

Parameters
string$termRaw search term
Returns
SqlSearchResultSet|null

Reimplemented from MediaWiki\Search\SearchDatabase.

Definition at line 187 of file SearchMySQL.php.

◆ legalSearchChars()

MediaWiki\Search\SearchMySQL::legalSearchChars ( $type = self::CHARS_ALL)

Get chars legal for search.

Parameters
int$typetype of search chars (see self::CHARS_ALL and self::CHARS_NO_SYNTAX). Defaults to CHARS_ALL
Returns
string

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 151 of file SearchMySQL.php.

◆ minSearchLength()

MediaWiki\Search\SearchMySQL::minSearchLength ( )
protected

Check MySQL server's ft_min_word_len setting so we know if we need to pad short words...

Returns
int

Definition at line 418 of file SearchMySQL.php.

◆ normalizeText()

MediaWiki\Search\SearchMySQL::normalizeText ( $string)

Converts some characters for MySQL's indexing to grok it correctly, and pads short words to overcome limitations.

Parameters
string$string
Returns
string

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 367 of file SearchMySQL.php.

◆ queryFeatures()

MediaWiki\Search\SearchMySQL::queryFeatures ( SelectQueryBuilder $queryBuilder)
protected

Add special conditions.

Parameters
SelectQueryBuilder$queryBuilder
Since
1.18

Definition at line 222 of file SearchMySQL.php.

References Wikimedia\Rdbms\SelectQueryBuilder\andWhere().

◆ searchInternal()

MediaWiki\Search\SearchMySQL::searchInternal ( string $term,
bool $fulltext )
protected

Definition at line 191 of file SearchMySQL.php.

◆ stripForSearchCallback()

MediaWiki\Search\SearchMySQL::stripForSearchCallback ( $matches)
protected

Armor a case-folded UTF-8 string to get through MySQL's fulltext search without being mucked up by funny charset settings or anything else of the sort.

Parameters
array$matches
Returns
string

Definition at line 408 of file SearchMySQL.php.

References $matches.

◆ supports()

MediaWiki\Search\SearchMySQL::supports ( $feature)

Since
1.18
Stability: stable
to override
Parameters
string$feature
Returns
bool

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 208 of file SearchMySQL.php.

◆ update()

MediaWiki\Search\SearchMySQL::update ( $id,
$title,
$text )

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

Title and text should be pre-processed.

Parameters
int$id
string$title
string$text

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 320 of file SearchMySQL.php.

◆ updateTitle()

MediaWiki\Search\SearchMySQL::updateTitle ( $id,
$title )

Update a search index record's title only.

Title should be pre-processed.

Parameters
int$id
string$title

Reimplemented from MediaWiki\Search\SearchEngine.

Definition at line 339 of file SearchMySQL.php.

Member Data Documentation

◆ $strictMatching

bool MediaWiki\Search\SearchMySQL::$strictMatching = true
protected

Definition at line 27 of file SearchMySQL.php.


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