set('scout.algolia.id', $settings['algolia_app_id']); } if (isset($settings['algolia_secret'])) { config()->set('scout.algolia.secret', $settings['algolia_secret']); } if ( $engineName === 'mysql' && Arr::get($settings, 'scout_mysql_mode') !== 'fulltext' ) { return false; } // register elastic search provider, if not registered already if ( $engineName === ElasticSearchEngine::class && empty(app()->getProviders(ElasticSearchServiceProvider::class)) ) { app()->register(ElasticSearchServiceProvider::class); } $results = $manager->engine($engineName)->search( app(Builder::class, [ 'model' => new User(), 'query' => 'test', ]), ); if (!$results) { return $this->getDefaultErrorMessage(); } } /** * @param Exception|Throwable $e * @return array */ private function getErrorMessage($e) { $message = $e->getMessage(); return [ 'search_group' => "Could not enable this search method: $message", ]; } /** * @return array */ private function getDefaultErrorMessage() { return ['search_group' => 'Could not enable this search method.']; } }