@note: Deprecated SearchEngine::getNearMatcher and ::getDefaultMatcher() and begin using the new interfaces. Renamed SearchNearMatcher to depict what it really does like TitleMatcher when searching. Also, I pulled out SpecialSearchTestMockResultSet class to a separate file. Change-Id: I09990e9f263c075a6ab137ee5bcb7285359f057c
59 lines
1.2 KiB
PHP
59 lines
1.2 KiB
PHP
<?php
|
|
|
|
class SpecialSearchTestMockResultSet extends SearchResultSet {
|
|
protected $results;
|
|
protected $suggestion;
|
|
protected $rewrittenQuery;
|
|
protected $containedSyntax;
|
|
|
|
public function __construct(
|
|
$suggestion = null,
|
|
$rewrittenQuery = null,
|
|
array $results = [],
|
|
$containedSyntax = false
|
|
) {
|
|
$this->suggestion = $suggestion;
|
|
$this->rewrittenQuery = $rewrittenQuery;
|
|
$this->results = $results;
|
|
$this->containedSyntax = $containedSyntax;
|
|
}
|
|
|
|
public function expandResults() {
|
|
return $this->results;
|
|
}
|
|
|
|
public function getTotalHits() {
|
|
return $this->numRows();
|
|
}
|
|
|
|
public function hasSuggestion() {
|
|
return $this->suggestion !== null;
|
|
}
|
|
|
|
public function getSuggestionQuery() {
|
|
return $this->suggestion;
|
|
}
|
|
|
|
public function getSuggestionSnippet() {
|
|
return $this->suggestion;
|
|
}
|
|
|
|
public function hasRewrittenQuery() {
|
|
return $this->rewrittenQuery !== null;
|
|
}
|
|
|
|
public function getQueryAfterRewrite() {
|
|
return $this->rewrittenQuery;
|
|
}
|
|
|
|
public function getQueryAfterRewriteSnippet() {
|
|
return htmlspecialchars( $this->rewrittenQuery );
|
|
}
|
|
|
|
public function getFirstResult() {
|
|
if ( count( $this->results ) === 0 ) {
|
|
return null;
|
|
}
|
|
return $this->results[0]->getTitle();
|
|
}
|
|
}
|