MediaWiki
1.28.0
|
Search suggestion sets. More...
Public Member Functions | |
__construct (array $suggestions) | |
Builds a new set of suggestions. More... | |
append (SearchSuggestion $suggestion) | |
Add a new suggestion at the end. More... | |
appendAll (SearchSuggestionSet $set) | |
Add suggestion set to the end of the current one. More... | |
getBestScore () | |
getSize () | |
getSuggestions () | |
Get the list of suggestions. More... | |
getWorstScore () | |
map ($callback) | |
Call array_map on the suggestions array. More... | |
prepend (SearchSuggestion $suggestion) | |
Add a new suggestion at the top. More... | |
rescore ($key) | |
Move the suggestion at index $key to the first position. More... | |
shrink ($limit) | |
Remove any extra elements in the suggestions set. More... | |
Static Public Member Functions | |
static | emptySuggestionSet () |
static | fromStrings (array $titles) |
Builds a new set of suggestion based on a string array. More... | |
static | fromTitles (array $titles) |
Builds a new set of suggestion based on a title array. More... | |
Private Attributes | |
array | $pageMap = [] |
SearchSuggestion[] | $suggestions = [] |
Search suggestion sets.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html A set of search suggestions. The set is always ordered by score, with the best match first.
Definition at line 27 of file SearchSuggestionSet.php.
SearchSuggestionSet::__construct | ( | array | $suggestions | ) |
Builds a new set of suggestions.
NOTE: the array should be sorted by score (higher is better), in descending order. SearchSuggestionSet will not try to re-order this input array. Providing an unsorted input array is a mistake and will lead to unexpected behaviors.
SearchSuggestion[] | $suggestions (must be sorted by score) |
Definition at line 50 of file SearchSuggestionSet.php.
References as.
SearchSuggestionSet::append | ( | SearchSuggestion | $suggestion | ) |
Add a new suggestion at the end.
If the score of the new suggestion is greater than the worst one, the new suggestion score will be updated (worst - 1).
SearchSuggestion | $suggestion |
Definition at line 84 of file SearchSuggestionSet.php.
References SearchSuggestion\getScore(), getSize(), SearchSuggestion\getSuggestedTitleID(), getWorstScore(), and SearchSuggestion\setScore().
Referenced by appendAll().
SearchSuggestionSet::appendAll | ( | SearchSuggestionSet | $set | ) |
Add suggestion set to the end of the current one.
SearchSuggestionSet | $set |
Definition at line 102 of file SearchSuggestionSet.php.
References append(), as, and getSuggestions().
|
static |
Definition at line 209 of file SearchSuggestionSet.php.
Referenced by SearchEngine\completionSearch(), SearchEngine\completionSearchWithVariants(), SearchSuggestionSetTest\testAppend(), SearchSuggestionSetTest\testInsertBest(), and SearchSuggestionSetTest\testShrink().
|
static |
Builds a new set of suggestion based on a string array.
NOTE: Suggestion scores will be generated.
string[] | $titles |
Definition at line 198 of file SearchSuggestionSet.php.
References $title, $titles, SearchSuggestion\fromText(), and use.
Referenced by SearchEngine\completionSearchBackend(), and SearchEnginePrefixTest\testSearchBackend().
|
static |
Builds a new set of suggestion based on a title array.
Useful when using a backend that supports only Titles.
NOTE: Suggestion scores will be generated.
Title[] | $titles |
Definition at line 182 of file SearchSuggestionSet.php.
References $title, $titles, SearchSuggestion\fromTitle(), and use.
Referenced by SearchEngine\completionSearchBackend().
SearchSuggestionSet::getBestScore | ( | ) |
Definition at line 139 of file SearchSuggestionSet.php.
Referenced by prepend().
SearchSuggestionSet::getSize | ( | ) |
Definition at line 159 of file SearchSuggestionSet.php.
SearchSuggestionSet::getSuggestions | ( | ) |
Get the list of suggestions.
Definition at line 64 of file SearchSuggestionSet.php.
References $suggestions.
Referenced by appendAll().
SearchSuggestionSet::getWorstScore | ( | ) |
Definition at line 149 of file SearchSuggestionSet.php.
Referenced by append().
SearchSuggestionSet::map | ( | $callback | ) |
Call array_map on the suggestions array.
callback | $callback |
Definition at line 73 of file SearchSuggestionSet.php.
Referenced by SearchEngine\extractTitles(), and SearchEngine\processCompletionResults().
SearchSuggestionSet::prepend | ( | SearchSuggestion | $suggestion | ) |
Add a new suggestion at the top.
If the new suggestion score is lower than the best one its score will be updated (best + 1)
SearchSuggestion | $suggestion |
Definition at line 122 of file SearchSuggestionSet.php.
References getBestScore(), SearchSuggestion\getScore(), getSize(), SearchSuggestion\getSuggestedTitleID(), and SearchSuggestion\setScore().
Referenced by SearchEngine\processCompletionResults(), and rescore().
SearchSuggestionSet::rescore | ( | $key | ) |
Move the suggestion at index $key to the first position.
Definition at line 111 of file SearchSuggestionSet.php.
References prepend().
Referenced by SearchEngine\processCompletionResults().
SearchSuggestionSet::shrink | ( | $limit | ) |
Remove any extra elements in the suggestions set.
int | $limit | the max size of this set. |
Definition at line 167 of file SearchSuggestionSet.php.
References $limit.
Referenced by SearchEngine\processCompletionResults().
|
private |
Definition at line 37 of file SearchSuggestionSet.php.
|
private |
Definition at line 31 of file SearchSuggestionSet.php.
Referenced by getSuggestions().