MediaWiki  1.23.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 (DatabaseBase $db=null)
 Constructor. More...
 
- Public Member Functions inherited from SearchEngine
 delete ( $id, $title)
 Delete an indexed page Title should be pre-processed. More...
 
 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...
 
 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...
 
 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...
 
 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...
 

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...
 

Private Member Functions

 escapeTerm ( $t)
 

Private Attributes

 $reservedWords
 

Additional Inherited Members

- Public Attributes inherited from SearchEngine
 $limit = 10
 
 $namespaces = array( NS_MAIN )
 
 $offset = 0
 
 $prefix = ''
 
 $searchTerms = array()
 
- 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
 

Detailed Description

Search engine hook base class for Oracle (ConText).

Definition at line 31 of file SearchOracle.php.

Member Function Documentation

◆ escapeTerm()

SearchOracle::escapeTerm (   $t)
private

Definition at line 212 of file SearchOracle.php.

References $t, $wgContLang, and global.

Referenced by parseQuery().

◆ getIndexField()

SearchOracle::getIndexField (   $fulltext)

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

Parameters
$fulltextBoolean
Returns
String

Definition at line 147 of file SearchOracle.php.

Referenced by parseQuery().

◆ getQuery()

SearchOracle::getQuery (   $filteredTerm,
  $fulltext 
)

Construct the full SQL query to do the search.

The guts shoulds be constructed in queryMain()

Parameters
$filteredTermString
$fulltextBoolean
Returns
String

Definition at line 136 of file SearchOracle.php.

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

◆ legalSearchChars()

static SearchOracle::legalSearchChars ( )
static

Reimplemented from SearchEngine.

Definition at line 267 of file SearchOracle.php.

◆ 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.

Returns
string

Definition at line 172 of file SearchOracle.php.

References $regexp, $t, $wgContLang, array(), as, escapeTerm(), getIndexField(), global, and SearchEngine\legalSearchChars().

Referenced by queryMain().

◆ queryLimit()

SearchOracle::queryLimit (   $sql)

Return a LIMIT clause to limit results on the query.

Parameters
$sqlstring
Returns
String

Definition at line 115 of file SearchOracle.php.

Referenced by getQuery().

◆ queryMain()

SearchOracle::queryMain (   $filteredTerm,
  $fulltext 
)

Get the base part of the search query.

Parameters
$filteredTermString
$fulltextBoolean
Returns
String

Definition at line 158 of file SearchOracle.php.

References parseQuery().

Referenced by getQuery().

◆ queryNamespaces()

SearchOracle::queryNamespaces ( )

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

Returns
String

Definition at line 96 of file SearchOracle.php.

References SearchEngine\$namespaces, and namespaces.

Referenced by getQuery().

◆ queryRanking()

SearchOracle::queryRanking (   $filteredTerm,
  $fulltext 
)

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

Returns
String

Definition at line 125 of file SearchOracle.php.

Referenced by getQuery().

◆ searchText()

SearchOracle::searchText (   $term)

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

Parameters
string$termraw search term
Returns
SqlSearchResultSet

Reimplemented from SearchEngine.

Definition at line 68 of file SearchOracle.php.

References $term, and true.

◆ searchTitle()

SearchOracle::searchTitle (   $term)

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

Parameters
string$termraw search term
Returns
SqlSearchResultSet

Reimplemented from SearchEngine.

Definition at line 83 of file SearchOracle.php.

References $term, and false.

◆ update()

SearchOracle::update (   $id,
  $title,
  $text 
)

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

Title and text should be pre-processed.

Parameters
$idInteger
$titleString
$textString

Reimplemented from SearchEngine.

Definition at line 229 of file SearchOracle.php.

References $title, array(), DB_MASTER, and wfGetDB().

◆ updateTitle()

SearchOracle::updateTitle (   $id,
  $title 
)

Update a search index record's title only.

Title should be pre-processed.

Parameters
$idInteger
$titleString

Reimplemented from SearchEngine.

Definition at line 257 of file SearchOracle.php.

References $title, array(), DB_MASTER, and wfGetDB().

Member Data Documentation

◆ $reservedWords

SearchOracle::$reservedWords
private
Initial value:
'ABOUT' => 1,
'ACCUM' => 1,
'AND' => 1,
'BT' => 1,
'BTG' => 1,
'BTI' => 1,
'BTP' => 1,
'FUZZY' => 1,
'HASPATH' => 1,
'INPATH' => 1,
'MINUS' => 1,
'NEAR' => 1,
'NOT' => 1,
'NT' => 1,
'NTG' => 1,
'NTI' => 1,
'NTP' => 1,
'OR' => 1,
'PT' => 1,
'RT' => 1,
'SQE' => 1,
'SYN' => 1,
'TR' => 1,
'TRSYN' => 1,
'TT' => 1,
'WITHIN' => 1,
)

Definition at line 33 of file SearchOracle.php.


The documentation for this class was generated from the following file:
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.