Inheritance: implements Spatie\SearchIndex\SearchIndexHandler
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app->singleton('searchIndex', function ($app) {
         switch ($app['config']->get('searchindex.engine')) {
             case 'elasticsearch':
                 $config = $app['config']->get('searchindex.elasticsearch');
                 $elasticSearchClient = new ElasticsearchClient(['hosts' => $config['hosts'], 'logPath' => $config['logPath'], 'logLevel' => $config['logLevel']]);
                 $searchHandler = new SearchHandler($elasticSearchClient);
                 $searchHandler->setIndexName($config['defaultIndexName']);
                 return $searchHandler;
         }
         throw new Exception($app['config']->get('searchindexvend.engine') . ' is not a valid search engine');
     });
 }
 /**
  * Register the service provider.
  */
 public function register()
 {
     $this->app->singleton('searchIndex', function ($app) {
         switch ($app['config']->get('searchindex.engine')) {
             case 'elasticsearch':
                 $config = $app['config']->get('searchindex.elasticsearch');
                 $elasticSearchClient = new ElasticsearchClient(['hosts' => $config['hosts'], 'logPath' => $config['logPath'], 'logLevel' => $config['logLevel']]);
                 $searchHandler = new ElasticSearchHandler($elasticSearchClient);
                 $searchHandler->setIndexName($config['defaultIndexName']);
                 return $searchHandler;
                 break;
             case 'algolia':
                 $config = $app['config']->get('searchindex.algolia');
                 $algoliaClient = new \AlgoliaSearch\Client($config['application-id'], $config['api-key']);
                 $searchHandler = new Algolia($algoliaClient);
                 $searchHandler->setIndexName($config['defaultIndexName']);
                 return $searchHandler;
                 break;
         }
         throw new Exception($app['config']->get('searchindex.engine') . ' is not a valid search engine');
     });
 }
 /**
  * Get the results for the given query
  *
  * @param array $query
  * @return mixed
  */
 public function getResults($query)
 {
     return $this->elasticsearch->search($query);
 }