shortcodes / search
用于不同方法搜索数据的实用特性(elasticsearch, eloquent)
1.0.8
2019-11-20 10:28 UTC
Requires
- php: >=7.0.0
- elasticsearch/elasticsearch: ^6.1
README
search
用于不同方法搜索数据的实用特性(elasticsearch, eloquent)
配置 Elasticsearch
在 config/services.php 中需要添加
'search' => [
'enabled' => env('ELASTICSEARCH_ENABLED', false),
'hosts' => explode(',', env('ELASTICSEARCH_HOSTS')),
],
并将变量添加到 .env
ELASTICSEARCH_ENABLED=true
ELASTICSEARCH_HOSTS=localhost:9200
ELASTICSEARCH_PREFIX=prefix #if you use more than 1 application on same elastic server
每个 Elastic 模型都必须使用 Elasticable 特性
要在 Elasticsearch 中搜索,需要在模型中使用 searchParameters 方法
public function searchParameters($request) : array
{
//must return array with elasticsearch rules
return [];
}
配置 Eloquent 搜索
每个 Eloquent 类型搜索模型都需要使用 Searchable 特性并实现 searchParameters 方法
public function searchParameters($query,$request)
{
//must return queryBuilder class
return $query;
}
手动重新索引使用特性的类
每个 Eloquent 类型搜索模型都需要使用 Searchable 特性并实现 searchParameters 方法
php artisan search:reindex