|
MediaWiki
master
|
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 (IDatabase $db=null) | |
| Constructor. More... | |
Public Member Functions inherited from SearchEngine | |
| completionSearch ($search) | |
| Perform a completion search. More... | |
| completionSearchWithVariants ($search) | |
| Perform a completion search with variants. More... | |
| defaultPrefixSearch ($search) | |
| Simple prefix search for subpages. More... | |
| delete ($id, $title) | |
| Delete an indexed page Title should be pre-processed. More... | |
| extractTitles (SearchSuggestionSet $completionResults) | |
| Extract titles from completion results. More... | |
| getNearMatcher (Config $config) | |
| Get service class to finding near matches. More... | |
| getProfiles ($profileType) | |
| Get a list of supported profiles. More... | |
| getSearchIndexFields () | |
| Get fields for search index. More... | |
| getSort () | |
| Get the sort direction of the search results. 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... | |
| getValidSorts () | |
| Get the valid sort directions. More... | |
| makeSearchFieldMapping ($name, $type) | |
| Create a search field definition. More... | |
| normalizeText ($string) | |
| When overridden in derived class, performs database-specific conversions on text to be used for searching or updating search index. More... | |
| replacePrefixes ($query) | |
| Parse some common prefixes: all (search everything) or namespace names. More... | |
| 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... | |
| 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... | |
| setSort ($sort) | |
| Set the sort direction of the search results. More... | |
| supports ($feature) | |
| 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... | |
| 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... | |
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 | legalSearchChars () |
| Get chars legal for 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... | |
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... | |
Protected Member Functions inherited from SearchDatabase | |
| filter ($text) | |
| Return a 'cleaned up' search string. More... | |
Protected Member Functions inherited from SearchEngine | |
| completionSearchBackend ($search) | |
| Perform a completion search. More... | |
| normalizeNamespaces ($search) | |
| Makes search simple string if it was namespaced. More... | |
| processCompletionResults ($search, SearchSuggestionSet $suggestions) | |
| Process completion search results. More... | |
| simplePrefixSearch ($search) | |
| Call out to simple search backend. More... | |
Protected Attributes | |
| $strictMatching = true | |
Protected Attributes inherited from SearchDatabase | |
| IDatabase | $db |
| Slave database for reading from for results. More... | |
Protected Attributes inherited from SearchEngine | |
| array | $features = [] |
| Feature values. More... | |
| int | $limit = 10 |
| int | $offset = 0 |
| array string | $searchTerms = [] |
| bool | $showSuggestion = true |
Static Private Attributes | |
| static | $mMinSearchLength |
Additional Inherited Members | |
Public Attributes inherited from SearchEngine | |
| int[] null | $namespaces = [ NS_MAIN ] |
| string | $prefix = '' |
| const | COMPLETION_PROFILE_TYPE = 'completionSearchProfile' |
| string profile type for completionSearch More... | |
| const | FT_QUERY_INDEP_PROFILE_TYPE = 'fulltextQueryIndepProfile' |
| string profile type for query independent ranking features More... | |
Static Protected Member Functions inherited from SearchEngine | |
| static | defaultNearMatcher () |
| Get near matcher for default SearchEngine. More... | |
Search engine hook for MySQL 4+.
Definition at line 31 of file SearchMySQL.php.
| SearchMySQL::delete | ( | $id, | |
| $title | |||
| ) |
| SearchMySQL::getCountQuery | ( | $filteredTerm, | |
| $fulltext | |||
| ) |
| string | $filteredTerm | |
| bool | $fulltext |
Definition at line 310 of file SearchMySQL.php.
References $query, parseQuery(), queryFeatures(), and queryNamespaces().
Referenced by searchInternal().
| SearchMySQL::getIndexField | ( | $fulltext | ) |
Picks which field to index on, depending on what type of query.
| bool | $fulltext |
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()
| string | $filteredTerm | |
| bool | $fulltext |
Definition at line 259 of file SearchMySQL.php.
References $query, limitResult(), queryFeatures(), queryMain(), and queryNamespaces().
Referenced by searchInternal().
|
static |
Definition at line 152 of file SearchMySQL.php.
Referenced by parseQuery().
|
protected |
Add limit options.
| array | $query |
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 436 of file SearchMySQL.php.
References $dbr, 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.
| string | $string |
Definition at line 382 of file SearchMySQL.php.
References $out, $wgContLang, global, and minSearchLength().
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.
| string | $filteredText | |
| string | $fulltext |
Definition at line 45 of file SearchMySQL.php.
References $term, $wgContLang, as, getIndexField(), global, legalSearchChars(), list, normalizeText(), regexTerm(), and wfDebug().
Referenced by getCountQuery(), and queryMain().
|
protected |
Add special conditions.
| array | $query |
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.
| array | &$query | Search query array |
| string | $filteredTerm | |
| bool | $fulltext |
Definition at line 293 of file SearchMySQL.php.
References $query, and parseQuery().
Referenced by getQuery().
| SearchMySQL::queryNamespaces | ( | & | $query | ) |
Add namespace conditions.
| array | $query |
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 133 of file SearchMySQL.php.
References $wgContLang, and global.
Referenced by parseQuery().
|
protected |
Definition at line 176 of file SearchMySQL.php.
References $query, $term, SearchDatabase\filter(), getCountQuery(), and getQuery().
Referenced by searchText(), and searchTitle().
| SearchMySQL::searchText | ( | $term | ) |
Perform a full text search query and return a result set.
| string | $term | Raw search term |
Definition at line 162 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 |
Definition at line 172 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.
| array | $matches |
Definition at line 426 of file SearchMySQL.php.
References $matches.
| SearchMySQL::supports | ( | $feature | ) |
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.
| int | $id | |
| string | $title | |
| string | $text |
Definition at line 335 of file SearchMySQL.php.
References $title, DB_MASTER, normalizeText(), and wfGetDB().
| SearchMySQL::updateTitle | ( | $id, | |
| $title | |||
| ) |
Update a search index record's title only.
Title should be pre-processed.
| int | $id | |
| string | $title |
Definition at line 353 of file SearchMySQL.php.
References $title, DB_MASTER, normalizeText(), and wfGetDB().
|
staticprivate |
Definition at line 34 of file SearchMySQL.php.
|
protected |
Definition at line 32 of file SearchMySQL.php.