You are here

function search_api_acquia_ping in Acquia Search for Search API 7.2

Pings the search core.

Parameters

string $server_id: Search API server id

string $op:

Return value

bool

1 call to search_api_acquia_ping()
search_api_acquia_get_search_status_message in ./search_api_acquia.module
Returns formatted message about Acquia Search connection details.

File

./search_api_acquia.module, line 283
Provides integration between your Drupal site and Acquia's hosted search service via the Search API Solr module.

Code

function search_api_acquia_ping($server_id, $op = 'ping') {
  $solr = search_api_server_load($server_id, true)
    ->getSolrConnection();
  if (empty($solr)) {
    return FALSE;
  }
  if ($op == 'ping') {
    try {
      return (bool) $solr
        ->{$op}();
    } catch (Exception $e) {
      watchdog_exception('search_api_acquia', $e, 'Exception thrown when calling @op on Search API Solr connection. %type: !message in %function (line %line of %file).', array(
        '@op' => $op,
      ));
    }
  }
  if ($op == 'deep-ping') {
    try {
      $result = $solr
        ->makeServletRequest('admin/luke', array(
        'numTerms' => 0,
      ));
      if ($result->code == 200) {
        return TRUE;
      }
    } catch (Exception $e) {
      watchdog_exception('search_api_acquia', $e, 'Exception thrown when calling @op on Search API Solr connection. %type: !message in %function (line %line of %file).', array(
        '@op' => $op,
      ));
    }
  }
  return FALSE;
}