/** * Responsible for the initial query to Solr, with some error handling built in * @return Solarium_Result_Select */ protected function sendSearchRequestToClient() { try { return $this->getClient()->select($this->getSelectQuery()); } catch (\Exception $e) { if ($this->config->getError() !== null) { $this->config->setError($e); return new \Solarium_Result_Select_Empty(); } else { $this->config->setSkipBoostFunctions(true)->setError($e); return $this->sendSearchRequestToClient(); } } }