public static function Runtime::getPreferredSearchCoreService in Acquia Search 3.x
Instantiates the PreferredSearchCore class.
Helps to determines which search core should be used and whether it is available within the subscription.
Return value
\Drupal\acquia_search\PreferredSearchCore Preferred search core service.
2 calls to Runtime::getPreferredSearchCoreService()
- SearchApiSolrAcquiaConnector::defaultConfiguration in src/
Plugin/ SolrConnector/ SearchApiSolrAcquiaConnector.php - Gets default configuration for this plugin.
- SearchSubscriber::getSearchIndexKeys in src/
EventSubscriber/ SearchSubscriber.php - Fetches the Acquia Search v3 index keys.
File
- src/
Helper/ Runtime.php, line 66
Class
- Runtime
- Class Runtime.
Namespace
Drupal\acquia_search\HelperCode
public static function getPreferredSearchCoreService() : PreferredSearchCore {
if (self::$preferredSearchCoreService) {
return self::$preferredSearchCoreService;
}
$ah_env = $_ENV['AH_SITE_ENVIRONMENT'] ?? '';
$ah_site_name = $_ENV['AH_SITE_NAME'] ?? '';
$ah_site_group = $_ENV['AH_SITE_GROUP'] ?? '';
$conf_path = \Drupal::service('site.path');
$sites_folder_name = substr($conf_path, strrpos($conf_path, '/') + 1);
$ah_db_role = '';
if ($ah_env && $ah_site_name && $ah_site_group) {
$options = Database::getConnection()
->getConnectionOptions();
$connection_info = Database::getAllConnectionInfo();
$ah_db_role = Runtime::getAhDatabaseRole($options, $connection_info);
}
if (!($available_cores = Runtime::getAcquiaSearchApiClient(Storage::getUuid())
->getSearchIndexes(Storage::getIdentifier()))) {
$available_cores = [];
}
return new PreferredSearchCore(Storage::getIdentifier(), $ah_env, $sites_folder_name, $ah_db_role, $available_cores);
}