Laravel中使用Elasticsearch
安装laravel(暂定项目名lara-es laravel版本5.5下的稳定版)
composer create-project --prefer-dist laravel/laravel lara-es 5.5.*
安装scout
composer require laravel/scout
在config/app.php的
providers
数组中添加(Laravel5.7不需进行此操作)
Laravel\Scout\ScoutServiceProvider::class
执行命令,生成scout的配置文件(在app/config文件夹下生成scout.php)
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
安装laravel-scout-elastic
composer require tamayo/laravel-scout-elastic
composer安装时可能会报错,是版本太高,降低版本
composer require laravel/scout ^5.0.3
在config/app.php的
providers
数组中添加
ScoutEngines\Elasticsearch\ElasticsearchProvider::class
修改scout.php
'driver' => env('SCOUT_DRIVER', 'elasticsearch'),
//配置elasticsearch引擎
'elasticsearch' => [
'index' => env('ELASTICSEARCH_INDEX', 'laravel'),//laravel就是索引的名字,可以随便起
'hosts' => [
env('ELASTICSEARCH_HOST', 'http://127.0.0.1:9200'),
],
]
创建命令
在app\Console\Commands下创建ESinit.php
php artisan make:command ESinit
在app\Console\Kernel.php中
$commands
数组里添加
\App\Console\Commands\ESinit::class
运行命令
composer require guzzlehttp/guzzle
guzzlehttp/guzzle安装成功之后,在ESinit.php文件中的handle()方法添加如下代码
public function handle()
{
$client = new Client();
$url = config(