wangzd / laravel-elasticsearch
es
1.2.2
2019-01-18 08:39 UTC
Requires
- php: >=7.0
- elasticsearch/elasticsearch: ~6.0
- laravel/scout: ~6.1.3
Requires (Dev)
- phpunit/phpunit: >=5.6
- symfony/var-dumper: ^4.1
This package is not auto-updated.
Last update: 2024-11-22 09:48:40 UTC
README
介绍
为 Laravel Scout 开发的 Elasticsearch 驱动;
为了方便大家测试,搭建了一个带分词的elasticsearch docker
docker run --name=es -p 9200:9200 -p 9300:9300 -d dongen/elasticsearch:latest
安装
composer require wangzd/laravel-elasticsearch
- Laravel 5.5 以下,
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";
}
- 执行全量索引创建 该操作会自动创建阿里云APP
php artisan scout:import "App\Models\ShopSearchModel"
7.执行搜索
use App\Models\ShopSearchModel; Route::get('search', function () { // 为查看方便都转成数组 dump(ShopSearchModel::search('搜索关键字')->get()->toArray()); });