protected function SearchApiSolrBackend::getAutocompleteTermSuggestions in Search API Solr 8.2
Same name and namespace in other branches
- 8.3 src/Plugin/search_api/backend/SearchApiSolrBackend.php \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend::getAutocompleteTermSuggestions()
- 4.x src/Plugin/search_api/backend/SearchApiSolrBackend.php \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend::getAutocompleteTermSuggestions()
Get the term suggestions from the autocomplete query result.
Parameters
\Solarium\Core\Query\Result\ResultInterface $result: A autocomplete query result.
\Drupal\search_api_autocomplete\Suggestion\SuggestionFactory $suggestion_factory: The suggestion factory.
string $incomplete_key: The start of another fulltext keyword for the search, which should be completed.
Return value
\Drupal\search_api_autocomplete\Suggestion\SuggestionInterface[] An array of suggestions.
1 call to SearchApiSolrBackend::getAutocompleteTermSuggestions()
- SearchApiSolrBackend::getAutocompleteSuggestions in src/
Plugin/ search_api/ backend/ SearchApiSolrBackend.php - Implements autocomplete compatible to AutocompleteBackendInterface.
File
- src/
Plugin/ search_api/ backend/ SearchApiSolrBackend.php, line 2729
Class
- SearchApiSolrBackend
- Apache Solr backend for search api.
Namespace
Drupal\search_api_solr\Plugin\search_api\backendCode
protected function getAutocompleteTermSuggestions(ResultInterface $result, SuggestionFactory $suggestion_factory, $incomplete_key) {
$suggestions = [];
if ($terms_results = $result
->getComponent(ComponentAwareQueryInterface::COMPONENT_TERMS)) {
$autocomplete_terms = [];
foreach ($terms_results as $fields) {
foreach ($fields as $term => $count) {
if ($term != $incomplete_key) {
$autocomplete_terms[$term] = $count;
}
}
}
foreach ($autocomplete_terms as $term => $count) {
$suggestion_suffix = mb_substr($term, mb_strlen($incomplete_key));
$suggestions[] = $suggestion_factory
->createFromSuggestionSuffix($suggestion_suffix, $count);
}
}
return $suggestions;
}