MediaWiki REL1_31
SearchResultSet Class Reference
Inheritance diagram for SearchResultSet:
Collaboration diagram for SearchResultSet:

Public Member Functions

 __construct ( $containedSyntax=false)
 
 augmentResult (SearchResult $result)
 Returns extra data for specific result and store it in SearchResult object.
 
 extractResults ()
 Extract all the results in the result set as array.
 
 extractTitles ()
 Extract all the titles in the result set.
 
 free ()
 Frees the result set, if applicable.
 
 getInterwikiResults ( $type=self::SECONDARY_RESULTS)
 Return a result set of hits on other (multiple) wikis associated with this one.
 
 getOffset ()
 
 getQueryAfterRewrite ()
 
 getQueryAfterRewriteSnippet ()
 
 getSuggestionQuery ()
 
 getSuggestionSnippet ()
 
 getTotalHits ()
 Some search modes return a total hit count for the query in the entire article database.
 
 hasInterwikiResults ( $type=self::SECONDARY_RESULTS)
 Check if there are results on other wikis.
 
 hasRewrittenQuery ()
 Some search modes will run an alternative query that it thinks gives a better result than the provided search.
 
 hasSuggestion ()
 Some search modes return a suggested alternate term if there are no exact hits.
 
 next ()
 Fetches next search result, or false.
 
 numRows ()
 
 rewind ()
 Rewind result set back to beginning.
 
 searchContainedSyntax ()
 Did the search contain search syntax? If so, Special:Search won't offer the user a link to a create a page named by the search string because the name would contain the search syntax.
 
 setAugmentedData ( $name, $data)
 Sets augmented data for result set.
 
 termMatches ()
 Fetch an array of regular expression fragments for matching the search terms as parsed by this engine in a text extract.
 

Protected Attributes

 $containedSyntax = false
 Types of interwiki results.
 
array[] $extraData = []
 Set of result's extra data, indexed per result id and then per data item name.
 

Private Attributes

SearchResult[] $results
 Cache of results - serialization of the result iterator as an array.
 
Title[] $titles
 Cache of titles.
 

Detailed Description

Definition at line 27 of file SearchResultSet.php.

Constructor & Destructor Documentation

◆ __construct()

SearchResultSet::__construct ( $containedSyntax = false)

Reimplemented in SearchNearMatchResultSet.

Definition at line 68 of file SearchResultSet.php.

References $containedSyntax.

Member Function Documentation

◆ augmentResult()

SearchResultSet::augmentResult ( SearchResult $result)

Returns extra data for specific result and store it in SearchResult object.

Parameters
SearchResult$result
Returns
array|null List of data as name => value or null if none present.

Definition at line 261 of file SearchResultSet.php.

◆ extractResults()

SearchResultSet::extractResults ( )

Extract all the results in the result set as array.

Returns
SearchResult[]

Definition at line 209 of file SearchResultSet.php.

References $result, next(), numRows(), and rewind().

Referenced by PerRowAugmentor\augmentAll(), and extractTitles().

◆ extractTitles()

SearchResultSet::extractTitles ( )

Extract all the titles in the result set.

Returns
Title[]

Definition at line 229 of file SearchResultSet.php.

References $titles, extractResults(), and numRows().

Referenced by AugmentPageProps\augmentAll().

◆ free()

SearchResultSet::free ( )

Frees the result set, if applicable.

Reimplemented in SqlSearchResultSet.

Definition at line 191 of file SearchResultSet.php.

◆ getInterwikiResults()

SearchResultSet::getInterwikiResults ( $type = self::SECONDARY_RESULTS)

Return a result set of hits on other (multiple) wikis associated with this one.

Parameters
int$type
Returns
SearchResultSet[]

Definition at line 158 of file SearchResultSet.php.

◆ getOffset()

SearchResultSet::getOffset ( )
Returns
int|null The offset the current page starts at. Typically this should be null to allow the UI to decide on its own, but in special cases like interleaved AB tests specifying explicitly is necessary.

Definition at line 276 of file SearchResultSet.php.

◆ getQueryAfterRewrite()

SearchResultSet::getQueryAfterRewrite ( )
Returns
string|null The search the query was internally rewritten to, or null when the result of the original query was returned.

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 116 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\rewrittenHtml().

◆ getQueryAfterRewriteSnippet()

SearchResultSet::getQueryAfterRewriteSnippet ( )
Returns
string|null Same as self::getQueryAfterRewrite(), but in HTML and with changes highlighted. Null when the query was not rewritten.

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 124 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\rewrittenHtml().

◆ getSuggestionQuery()

SearchResultSet::getSuggestionQuery ( )
Returns
string|null Suggested query, null if none

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 141 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\suggestionHtml().

◆ getSuggestionSnippet()

SearchResultSet::getSuggestionSnippet ( )
Returns
string HTML highlighted suggested query, '' if none

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 148 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\suggestionHtml().

◆ getTotalHits()

SearchResultSet::getTotalHits ( )

Some search modes return a total hit count for the query in the entire article database.

This may include pages in namespaces that would not be matched on the given settings.

Return null if no total hits number is supported.

Returns
int

Reimplemented in SqlSearchResultSet, and SpecialSearchTestMockResultSet.

Definition at line 97 of file SearchResultSet.php.

◆ hasInterwikiResults()

SearchResultSet::hasInterwikiResults ( $type = self::SECONDARY_RESULTS)

Check if there are results on other wikis.

Parameters
int$type
Returns
bool

Definition at line 168 of file SearchResultSet.php.

◆ hasRewrittenQuery()

SearchResultSet::hasRewrittenQuery ( )

Some search modes will run an alternative query that it thinks gives a better result than the provided search.

Returns true if this has occured.

Returns
bool

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 108 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\render().

◆ hasSuggestion()

SearchResultSet::hasSuggestion ( )

Some search modes return a suggested alternate term if there are no exact hits.

Returns true if there is one on this set.

Returns
bool

Reimplemented in SpecialSearchTestMockResultSet.

Definition at line 134 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\DidYouMeanWidget\render().

◆ next()

SearchResultSet::next ( )

Fetches next search result, or false.

STUB FIXME: refactor as iterator, so we could use nicer interfaces.

Returns
SearchResult|false

Reimplemented in SearchNearMatchResultSet, and SqlSearchResultSet.

Definition at line 178 of file SearchResultSet.php.

Referenced by SearchEngineTest\addAugmentors(), extractResults(), and MediaWiki\Widget\Search\BasicSearchResultSetWidget\renderResultSet().

◆ numRows()

SearchResultSet::numRows ( )

◆ rewind()

SearchResultSet::rewind ( )

Rewind result set back to beginning.

Reimplemented in SearchNearMatchResultSet, and SqlSearchResultSet.

Definition at line 185 of file SearchResultSet.php.

Referenced by SearchEngineTest\addAugmentors(), and extractResults().

◆ searchContainedSyntax()

SearchResultSet::searchContainedSyntax ( )

Did the search contain search syntax? If so, Special:Search won't offer the user a link to a create a page named by the search string because the name would contain the search syntax.

Returns
bool

Definition at line 201 of file SearchResultSet.php.

◆ setAugmentedData()

SearchResultSet::setAugmentedData ( $name,
$data )

Sets augmented data for result set.

Parameters
string$nameExtra data item name
array[]$dataExtra data as PAGEID => data

Definition at line 250 of file SearchResultSet.php.

References $name.

Referenced by SearchEngine\augmentSearchResults().

◆ termMatches()

SearchResultSet::termMatches ( )

Fetch an array of regular expression fragments for matching the search terms as parsed by this engine in a text extract.

STUB

Returns
array

Reimplemented in SqlSearchResultSet.

Definition at line 79 of file SearchResultSet.php.

Referenced by MediaWiki\Widget\Search\BasicSearchResultSetWidget\renderResultSet().

Member Data Documentation

◆ $containedSyntax

SearchResultSet::$containedSyntax = false
protected

Types of interwiki results.

Definition at line 43 of file SearchResultSet.php.

Referenced by __construct(), and SpecialSearchTestMockResultSet\__construct().

◆ $extraData

array [] SearchResultSet::$extraData = []
protected

Set of result's extra data, indexed per result id and then per data item name.

The structure is: PAGE_ID => [ augmentor name => data, ... ]

Definition at line 66 of file SearchResultSet.php.

◆ $results

SearchResult [] SearchResultSet::$results
private

Cache of results - serialization of the result iterator as an array.

Definition at line 57 of file SearchResultSet.php.

◆ $titles

Title [] SearchResultSet::$titles
private

Cache of titles.

Lists titles of the result set, in the same order as results.

Definition at line 50 of file SearchResultSet.php.


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