wangzd/laravel-elasticsearch is a Laravel package for es.
It currently has 3 GitHub stars and 12 downloads on Packagist (latest version 1.2.2).
Install it with composer require wangzd/laravel-elasticsearch.
Discover more Laravel packages by wangzd
or browse all Laravel packages to compare alternatives.
Last updated
为 Laravel Scout 开发的 Elasticsearch 驱动;
为了方便大家测试,搭建了一个带分词的elasticsearch docker
docker run --name=es -p 9200:9200 -p 9300:9300 -d dongen/elasticsearch:latest
composer require wangzd/laravel-elasticsearch
config/app.php 中添加 service provider'providers' => [
// ...
/**
* Elasticsearch全文搜索
*/
Wangzd\ScoutES\ESServiceProvider::class,
],
3.发布配置项;
```bash
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
在 config/scout.php 添加配置
'elasticsearch' => [
'hosts' => [
env('ELASTICSEARCH_HOST', 'http://localhost'),
],
'analyzer' => env('ELASTICSEARCH_ANALYZER', 'ik_max_word'),
'settings' => [],
'filter' => [
]
],
增加配置项;
.env ;
```bash
SCOUT_DRIVER=elasticsearch
SCOUT_PREFIX=local
#elasticsearch
ELASTICSEARCH_HOST=127.0.0.1:9200
ELASTICSEARCH_INDEX=shop_test
```
5 在你的Model里面引用 Searchable 如
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class ShopSearchModel extends Model
{
use Searchable;
/**
* 数据表名
*/
protected $table = "shop_search";
/**
* 主键
*/
protected $primaryKey = "goods_id";
}
php artisan scout:import "App\Models\ShopSearchModel"
7.执行搜索
use App\Models\ShopSearchModel;
Route::get('search', function () {
// 为查看方便都转成数组
dump(ShopSearchModel::search('搜索关键字')->get()->toArray());
});