MediaWiki  1.27.2
SearchOracle Class Reference

Search engine hook base class for Oracle (ConText). More...

Inheritance diagram for SearchOracle:
Collaboration diagram for SearchOracle:

Public Member Functions

 getIndexField ($fulltext)
 Picks which field to index on, depending on what type of query. More...
 
 getQuery ($filteredTerm, $fulltext)
 Construct the full SQL query to do the search. More...
 
 parseQuery ($filteredText, $fulltext)
 Parse a user input search string, and return an SQL fragment to be used as part of a WHERE clause. More...
 
 queryLimit ($sql)
 Return a LIMIT clause to limit results on the query. More...
 
 queryMain ($filteredTerm, $fulltext)
 Get the base part of the search query. More...
 
 queryNamespaces ()
 Return a partial WHERE clause to limit the search to the given namespaces. More...
 
 queryRanking ($filteredTerm, $fulltext)
 Does not do anything for generic search engine subclasses may define this though. 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...
 
 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...
 
 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...
 
 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...
 

Private Member Functions

 escapeTerm ($t)
 

Private Attributes

 $reservedWords
 

Additional Inherited Members

- Public Attributes inherited from SearchEngine
int[] null $namespaces = [ NS_MAIN ]
 
string $prefix = ''
 
- 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...
 
- Static Protected Member Functions inherited from SearchEngine
static defaultNearMatcher ()
 Get near matcher for default SearchEngine. More...
 
- 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
 

Detailed Description

Search engine hook base class for Oracle (ConText).

Definition at line 31 of file SearchOracle.php.

Member Function Documentation

SearchOracle::escapeTerm (   $t)
private

Definition at line 214 of file SearchOracle.php.

References $t, $wgContLang, and global.

Referenced by parseQuery().

SearchOracle::getIndexField (   $fulltext)

Picks which field to index on, depending on what type of query.

Parameters
bool$fulltext
Returns
string

Definition at line 148 of file SearchOracle.php.

Referenced by parseQuery().

SearchOracle::getQuery (   $filteredTerm,
  $fulltext 
)

Construct the full SQL query to do the search.

The guts shoulds be constructed in queryMain()

Parameters
string$filteredTerm
bool$fulltext
Returns
string

Definition at line 137 of file SearchOracle.php.

References queryLimit(), queryMain(), queryNamespaces(), and queryRanking().

Referenced by searchText(), and searchTitle().

static SearchOracle::legalSearchChars ( )
static

Definition at line 269 of file SearchOracle.php.

Referenced by parseQuery().

SearchOracle::parseQuery (   $filteredText,
  $fulltext 
)

Parse a user input search string, and return an SQL fragment to be used as part of a WHERE clause.

Parameters
string$filteredText
bool$fulltext
Returns
string

Definition at line 175 of file SearchOracle.php.

References $t, $wgContLang, as, escapeTerm(), getIndexField(), global, and legalSearchChars().

Referenced by queryMain().

SearchOracle::queryLimit (   $sql)

Return a LIMIT clause to limit results on the query.

Parameters
string$sql
Returns
string

Definition at line 114 of file SearchOracle.php.

Referenced by getQuery().

SearchOracle::queryMain (   $filteredTerm,
  $fulltext 
)

Get the base part of the search query.

Parameters
string$filteredTerm
bool$fulltext
Returns
string

Definition at line 159 of file SearchOracle.php.

References $page, and parseQuery().

Referenced by getQuery().

SearchOracle::queryNamespaces ( )

Return a partial WHERE clause to limit the search to the given namespaces.

Returns
string

Definition at line 95 of file SearchOracle.php.

References SearchEngine\$namespaces, and namespaces.

Referenced by getQuery().

SearchOracle::queryRanking (   $filteredTerm,
  $fulltext 
)

Does not do anything for generic search engine subclasses may define this though.

Parameters
string$filteredTerm
bool$fulltext
Returns
string

Definition at line 126 of file SearchOracle.php.

Referenced by getQuery().

SearchOracle::searchText (   $term)

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

Parameters
string$termRaw search term
Returns
SqlSearchResultSet

Definition at line 67 of file SearchOracle.php.

References $term, SearchDatabase\filter(), and getQuery().

SearchOracle::searchTitle (   $term)

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

Parameters
string$termRaw search term
Returns
SqlSearchResultSet

Definition at line 82 of file SearchOracle.php.

References $term, SearchDatabase\filter(), and getQuery().

SearchOracle::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

Definition at line 231 of file SearchOracle.php.

References $title, DB_MASTER, and wfGetDB().

SearchOracle::updateTitle (   $id,
  $title 
)

Update a search index record's title only.

Title should be pre-processed.

Parameters
int$id
string$title

Definition at line 259 of file SearchOracle.php.

References $title, DB_MASTER, and wfGetDB().

Member Data Documentation

SearchOracle::$reservedWords
private
Initial value:
= [
'ABOUT' => 1

Definition at line 32 of file SearchOracle.php.


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