MediaWiki
1.23.0
|
Search engine hook for MySQL 4+. More...
Public Member Functions | |
delete ( $id, $title) | |
Delete an indexed page Title should be pre-processed. More... | |
getCountQuery ( $filteredTerm, $fulltext) | |
getIndexField ( $fulltext) | |
Picks which field to index on, depending on what type of query. More... | |
getQuery ( $filteredTerm, $fulltext) | |
Construct the SQL query to do the search. More... | |
normalizeText ( $string) | |
Converts some characters for MySQL's indexing to grok it correctly, and pads short words to overcome limitations. More... | |
parseQuery ( $filteredText, $fulltext) | |
Parse the user's query and transform it into an SQL fragment which will become part of a WHERE clause. More... | |
queryMain (&$query, $filteredTerm, $fulltext) | |
Get the base part of the search query. More... | |
queryNamespaces (&$query) | |
Add namespace conditions. More... | |
regexTerm ( $string, $wildcard) | |
searchText ( $term) | |
Perform a full text search query and return a result set. More... | |
searchTitle ( $term) | |
Perform a title-only search query and return a result set. More... | |
supports ( $feature) | |
update ( $id, $title, $text) | |
Create or update the search index record for the given page. More... | |
updateTitle ( $id, $title) | |
Update a search index record's title only. More... | |
Public Member Functions inherited from SearchDatabase | |
__construct (DatabaseBase $db=null) | |
Constructor. More... | |
Public Member Functions inherited from SearchEngine | |
filter ( $text) | |
Return a 'cleaned up' search string. More... | |
getTextFromContent (Title $t, Content $c=null) | |
Get the raw text for updating the index from a content object Nicer search backends could possibly do something cooler than just returning raw text. More... | |
replacePrefixes ( $query) | |
Parse some common prefixes: all (search everything) or namespace names. More... | |
setFeatureData ( $feature, $data) | |
Way to pass custom data for engines. More... | |
setLimitOffset ( $limit, $offset=0) | |
Set the maximum number of results to return and how many to skip before returning the first. More... | |
setNamespaces ( $namespaces) | |
Set which namespaces the search should include. More... | |
setShowSuggestion ( $showSuggestion) | |
Set whether the searcher should try to build a suggestion. More... | |
textAlreadyUpdatedForIndex () | |
If an implementation of SearchEngine handles all of its own text processing in getTextFromContent() and doesn't require SearchUpdate::updateText()'s rather silly handling, it should return true here instead. More... | |
transformSearchTerm ( $term) | |
Transform search term in cases when parts of the query came as different GET params (when supported) e.g. More... | |
Static Public Member Functions | |
static | legalSearchChars () |
Static Public Member Functions inherited from SearchEngine | |
static | create ( $type=null) |
Load up the appropriate search engine class for the currently active database backend, and return a configured instance. More... | |
static | defaultNamespaces () |
An array of namespaces indexes to be searched by default. More... | |
static | getNearMatch ( $searchterm) |
If an exact title match can be found, or a very slightly close match, return the title. More... | |
static | getNearMatchResultSet ( $searchterm) |
Do a near match (see SearchEngine::getNearMatch) and wrap it into a SearchResultSet. More... | |
static | getOpenSearchTemplate () |
Get OpenSearch suggestion template. More... | |
static | getSearchTypes () |
Return the search engines we support. More... | |
static | helpNamespaces () |
Return the help namespaces to be shown on Special:Search. More... | |
static | namespacesAsText ( $namespaces) |
Get a list of namespace names useful for showing in tooltips and preferences. More... | |
static | searchableNamespaces () |
Make a list of searchable namespaces and their canonical names. More... | |
static | userHighlightPrefs () |
Find snippet highlight settings for all users. More... | |
static | userNamespaces ( $user) |
Extract default namespaces to search from the given user's settings, returning a list of index numbers. More... | |
Public Attributes | |
$strictMatching = true | |
Public Attributes inherited from SearchEngine | |
$limit = 10 | |
$namespaces = array( NS_MAIN ) | |
$offset = 0 | |
$prefix = '' | |
$searchTerms = array() | |
Static Public Attributes | |
static | $mMinSearchLength |
Protected Member Functions | |
limitResult (&$query) | |
Add limit options. More... | |
minSearchLength () | |
Check MySQL server's ft_min_word_len setting so we know if we need to pad short words... More... | |
queryFeatures (&$query) | |
Add special conditions. More... | |
searchInternal ( $term, $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. More... | |
Additional Inherited Members | |
Protected Attributes inherited from SearchDatabase | |
DatabaseBase | $db |
Slave database for reading from for results. More... | |
Protected Attributes inherited from SearchEngine | |
Array | $features = array() |
Feature values *. More... | |
$showSuggestion = true | |
Search engine hook for MySQL 4+.
Definition at line 31 of file SearchMySQL.php.
SearchMySQL::delete | ( | $id, | |
$title | |||
) |
Delete an indexed page Title should be pre-processed.
Reimplemented from SearchEngine.
Definition at line 368 of file SearchMySQL.php.
SearchMySQL::getCountQuery | ( | $filteredTerm, | |
$fulltext | |||
) |
Definition at line 308 of file SearchMySQL.php.
References $query, array(), parseQuery(), queryFeatures(), and queryNamespaces().
Referenced by searchInternal().
SearchMySQL::getIndexField | ( | $fulltext | ) |
Picks which field to index on, depending on what type of query.
$fulltext | Boolean |
Definition at line 281 of file SearchMySQL.php.
Referenced by parseQuery().
SearchMySQL::getQuery | ( | $filteredTerm, | |
$fulltext | |||
) |
Construct the SQL query to do the search.
The guts shoulds be constructed in queryMain()
$filteredTerm | String |
$fulltext | Boolean |
Definition at line 259 of file SearchMySQL.php.
References $query, array(), limitResult(), queryFeatures(), queryMain(), and queryNamespaces().
Referenced by searchInternal().
|
static |
Reimplemented from SearchEngine.
Definition at line 148 of file SearchMySQL.php.
|
protected |
Add limit options.
$query | Array |
Definition at line 246 of file SearchMySQL.php.
References SearchEngine\$limit, SearchEngine\$offset, and $query.
Referenced by getQuery().
|
protected |
Check MySQL server's ft_min_word_len setting so we know if we need to pad short words...
Definition at line 437 of file SearchMySQL.php.
References $dbr, $mMinSearchLength, DB_SLAVE, and wfGetDB().
Referenced by normalizeText().
SearchMySQL::normalizeText | ( | $string | ) |
Converts some characters for MySQL's indexing to grok it correctly, and pads short words to overcome limitations.
Reimplemented from SearchEngine.
Definition at line 379 of file SearchMySQL.php.
References $n, $out, $wgContLang, array(), global, minSearchLength(), wfProfileIn(), and wfProfileOut().
Referenced by parseQuery(), update(), and updateTitle().
SearchMySQL::parseQuery | ( | $filteredText, | |
$fulltext | |||
) |
Parse the user's query and transform it into an SQL fragment which will become part of a WHERE clause.
$filteredText | string |
$fulltext | string |
Definition at line 44 of file SearchMySQL.php.
References $regexp, $term, $wgContLang, array(), as, getIndexField(), global, SearchEngine\legalSearchChars(), list, normalizeText(), regexTerm(), and wfDebug().
Referenced by getCountQuery(), and queryMain().
|
protected |
Add special conditions.
$query | Array |
Definition at line 219 of file SearchMySQL.php.
References $query, $value, and as.
Referenced by getCountQuery(), and getQuery().
SearchMySQL::queryMain | ( | & | $query, |
$filteredTerm, | |||
$fulltext | |||
) |
Get the base part of the search query.
&$query | array Search query array |
$filteredTerm | String |
$fulltext | Boolean |
Definition at line 293 of file SearchMySQL.php.
References $query, and parseQuery().
Referenced by getQuery().
SearchMySQL::queryNamespaces | ( | & | $query | ) |
Add namespace conditions.
$query | Array |
Definition at line 232 of file SearchMySQL.php.
References SearchEngine\$namespaces, $query, and namespaces.
Referenced by getCountQuery(), and getQuery().
SearchMySQL::regexTerm | ( | $string, | |
$wildcard | |||
) |
Definition at line 129 of file SearchMySQL.php.
References $wgContLang, and global.
Referenced by parseQuery().
|
protected |
Definition at line 172 of file SearchMySQL.php.
References $query, $term, $total, SearchEngine\filter(), getCountQuery(), getQuery(), and global.
Referenced by searchText(), and searchTitle().
SearchMySQL::searchText | ( | $term | ) |
Perform a full text search query and return a result set.
string | $term | raw search term |
Reimplemented from SearchEngine.
Definition at line 158 of file SearchMySQL.php.
References $term, and searchInternal().
SearchMySQL::searchTitle | ( | $term | ) |
Perform a title-only search query and return a result set.
string | $term | raw search term |
Reimplemented from SearchEngine.
Definition at line 168 of file SearchMySQL.php.
References $term, and searchInternal().
|
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.
Definition at line 427 of file SearchMySQL.php.
References $matches.
SearchMySQL::supports | ( | $feature | ) |
$feature | String |
Reimplemented from SearchEngine.
Definition at line 205 of file SearchMySQL.php.
SearchMySQL::update | ( | $id, | |
$title, | |||
$text | |||
) |
Create or update the search index record for the given page.
Title and text should be pre-processed.
$id | Integer |
$title | String |
$text | String |
Reimplemented from SearchEngine.
Definition at line 333 of file SearchMySQL.php.
References $title, array(), DB_MASTER, normalizeText(), and wfGetDB().
SearchMySQL::updateTitle | ( | $id, | |
$title | |||
) |
Update a search index record's title only.
Title should be pre-processed.
$id | Integer |
$title | String |
Reimplemented from SearchEngine.
Definition at line 351 of file SearchMySQL.php.
References $title, array(), DB_MASTER, normalizeText(), and wfGetDB().
|
static |
Definition at line 33 of file SearchMySQL.php.
Referenced by minSearchLength().
SearchMySQL::$strictMatching = true |
Definition at line 32 of file SearchMySQL.php.