Search2
extends Solr
in package
Search2 Autocomplete Module
This class provides suggestions by using the secondary Solr index.
Tags
Table of Contents
- $defaultDisplayField : string
- Default Solr display field if none is configured
- $displayField : string
- Solr field to use for display
- $filters : array<string|int, mixed>
- Filters to apply to Solr search
- $handler : string
- Autocomplete handler
- $resultsManager : PluginManager
- Results plugin manager
- $searchClassId : string
- Search object family to use
- $searchObject : Results
- Search results object
- $sortField : string
- Solr field to use for sorting
- __construct() : mixed
- Constructor
- addFilters() : void
- Add filters (in addition to the configured ones)
- getSuggestions() : array<string|int, mixed>
- This method returns an array of strings matching the user's query for display in the autocomplete box.
- setConfig() : void
- Set parameters that affect the behavior of the autocomplete handler.
- getSuggestionsFromSearch() : array<string|int, mixed>
- Try to turn an array of record drivers into an array of suggestions.
- initSearchObject() : void
- Initialize the search object used for finding recommendations.
- matchQueryTerms() : bool
- Return true if all terms in the query occurs in the field data string.
- mungeQuery() : string
- Process the user query to make it suitable for a Solr query.
- pickBestMatch() : bool|string
- Given the values from a Solr field and the user's search query, pick the best match to display as a recommendation.
- setDisplayField() : void
- Set the display field list. Useful for child classes.
- setSortField() : void
- Set the sort field list. Useful for child classes.
Properties
$defaultDisplayField
Default Solr display field if none is configured
protected
string
$defaultDisplayField
= 'title'
$displayField
Solr field to use for display
protected
string
$displayField
$filters
Filters to apply to Solr search
protected
array<string|int, mixed>
$filters
$handler
Autocomplete handler
protected
string
$handler
$resultsManager
Results plugin manager
protected
PluginManager
$resultsManager
$searchClassId
Search object family to use
protected
string
$searchClassId
= 'Search2'
$searchObject
Search results object
protected
Results
$searchObject
$sortField
Solr field to use for sorting
protected
string
$sortField
Methods
__construct()
Constructor
public
__construct(PluginManager $results) : mixed
Parameters
- $results : PluginManager
-
Results plugin manager
Return values
mixed —addFilters()
Add filters (in addition to the configured ones)
public
addFilters(array<string|int, mixed> $filters) : void
Parameters
- $filters : array<string|int, mixed>
-
Filters to add
Return values
void —getSuggestions()
This method returns an array of strings matching the user's query for display in the autocomplete box.
public
getSuggestions(string $query) : array<string|int, mixed>
Parameters
- $query : string
-
The user query
Return values
array<string|int, mixed> —The suggestions for the provided query
setConfig()
Set parameters that affect the behavior of the autocomplete handler.
public
setConfig(string $params) : void
These values normally come from the search configuration file.
Parameters
- $params : string
-
Parameters to set
Return values
void —getSuggestionsFromSearch()
Try to turn an array of record drivers into an array of suggestions.
protected
getSuggestionsFromSearch(array<string|int, mixed> $searchResults, string $query, bool $exact) : array<string|int, mixed>
Parameters
- $searchResults : array<string|int, mixed>
-
An array of record drivers
- $query : string
-
User search query
- $exact : bool
-
Ignore non-exact matches?
Return values
array<string|int, mixed> —initSearchObject()
Initialize the search object used for finding recommendations.
protected
initSearchObject() : void
Return values
void —matchQueryTerms()
Return true if all terms in the query occurs in the field data string.
protected
matchQueryTerms(string $data, string $query) : bool
Parameters
- $data : string
-
The data field returned from solr
- $query : string
-
The query string entered by the user
Return values
bool —mungeQuery()
Process the user query to make it suitable for a Solr query.
protected
mungeQuery(string $query) : string
Parameters
- $query : string
-
Incoming user query
Return values
string —Processed query
pickBestMatch()
Given the values from a Solr field and the user's search query, pick the best match to display as a recommendation.
protected
pickBestMatch(array<string|int, mixed>|string $value, string $query, bool $exact) : bool|string
Parameters
- $value : array<string|int, mixed>|string
-
Field value (or array of field values)
- $query : string
-
User search query
- $exact : bool
-
Ignore non-exact matches?
Return values
bool|string —String to use as recommendation, or false if no appropriate value was found.
setDisplayField()
Set the display field list. Useful for child classes.
protected
setDisplayField(array<string|int, mixed> $new) : void
Parameters
- $new : array<string|int, mixed>
-
Display field list.
Return values
void —setSortField()
Set the sort field list. Useful for child classes.
protected
setSortField(string $new) : void
Parameters
- $new : string
-
Sort field list.