123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace App\Search\Providers;
- use App\Search\Engines\ElasticsearchEngine;
- use Elasticsearch\ClientBuilder;
- use Illuminate\Support\ServiceProvider;
- use Laravel\Scout\EngineManager;
- use Monolog\Handler\StreamHandler;
- use Monolog\Logger;
- class ElasticsearchProvider extends ServiceProvider
- {
- /**
- * Bootstrap the application services.
- *
- * @return void
- */
- public function boot()
- {
- resolve(EngineManager::class)->extend('elasticsearch', function () {
- $logger = new Logger('elasticsearch');
- $logger->pushHandler(new StreamHandler(storage_path('logs/elasticsearch/search.log'), Logger::CRITICAL));
- return new ElasticsearchEngine(
- ClientBuilder::create()
- ->setHosts(config('scout.elasticsearch.host'))
- ->setLogger($logger)
- ->build()
- );
- });
- }
- /**
- * Register the application services.
- *
- * @return void
- */
- public function register()
- {
- //
- }
- }
|