shortcodes/search

用于不同方法搜索数据的实用特性(elasticsearch, eloquent)

1.0.8 2019-11-20 10:28 UTC

This package is auto-updated.

Last update: 2024-09-20 20:51:52 UTC


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