You are here

protected function SearchApiAcquiaSearchService::connect in Acquia Search for Search API 7.2

Same name and namespace in other branches
  1. 7 includes/SearchApiAcquiaSearchService.php \SearchApiAcquiaSearchService::connect()

Create a connection to the Solr server as configured in $this->options.

Overrides SearchApiSolrService::connect

File

includes/SearchApiAcquiaSearchService.php, line 29
Contains SearchApiAcquiaSearchService.

Class

SearchApiAcquiaSearchService
Search API service class for Acquia Search.

Code

protected function connect() {
  $this
    ->setConnectionOptions();
  if (!$this->solr) {
    if (!class_exists($this->connection_class)) {
      throw new SearchApiException(t('Invalid class @class set as Solr connection class.', array(
        '@class' => $this->connection_class,
      )));
    }
    $options = $this->options + array(
      'server' => $this->server->machine_name,
    );
    $this->solr = new $this->connection_class($options);
    if (!$this->solr instanceof SearchApiSolrConnectionInterface) {
      $this->solr = NULL;
      throw new SearchApiException(t('Invalid class @class set as Solr connection class.', array(
        '@class' => $this->connection_class,
      )));
    }
  }

  // allow the connection to override the derived key
  if (isset($this->options['derived_key']) && method_exists($this->solr, 'setDerivedKey')) {
    $this->solr
      ->setDerivedKey($this->options['derived_key']);
  }
}