Elasticsearch官方提供了Composer包可直接引用就好,不过要注意;如果你使用的elastcsearch不是最新的那么我建议你指定合适的版本下载,而不要采用最新的,因为不同版本的es提供的api不同
https://packagist.org/packages/elasticsearch/elasticsearch
题外点:除了es外在laravel中也可以使用Scout; 不过es中的查找方式功能比scout全,相对来说es可以更好地满足电商系统的需求
composer 命令:
composer require elasticsearch/elasticsearch
配置:
laravel 链接Elasticsearch ;链接只需要配置es的服务器与IP地址就好了
然后修改.env
添加Elasticsearch到laravel的容器中
//注册es的单例服务
$this->app->singleton('es',function (){
// 从配置文件读取es服务器列表
$builder = ESClientBuilder::create()->setHosts(config('database.elasticsearch.hosts'));
//记录信息到数据库中方便调试
$builder->setLogger(app('log')->driver());
return $builder->build();
});
测试
实际使用
我们在elasticsearch中存储了一条数据
在laravel中获取elasticsearch数据
app(‘es’)->get([‘index’ => ‘test’, ‘type’ => ‘_doc’, ‘id’ => 1]);