shortcodes/search

Useful traits for different methods to search data (elasticsearch ,eloquent)

Installs: 2 628

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

Type:package

1.0.8 2019-11-20 10:28 UTC

This package is auto-updated.

Last update: 2024-04-20 20:04:16 UTC


README

search

Useful traits for different methods to search data (elasticsearch ,eloquent)

configuring elasticsearch

In config/services.php you need to add

'search' => [
    'enabled' => env('ELASTICSEARCH_ENABLED', false),
    'hosts' => explode(',', env('ELASTICSEARCH_HOSTS')),
],

And add variables to .env

ELASTICSEARCH_ENABLED=true
ELASTICSEARCH_HOSTS=localhost:9200
ELASTICSEARCH_PREFIX=prefix #if you use more than 1 application on same elastic server

Every elastic model need to use Elasticable trait

To search in elasticsearch there is a need to use method searchParameters in model

public function searchParameters($request) : array
{
    //must return array with elasticsearch rules
    
    return [];
}

configuring eloquent search

Every eloquent type search model need to use Searchable trait and implement searchParameters method

public function searchParameters($query,$request)
{
    //must return queryBuilder class
    
    return $query;
}

manually reindex classes that uses trait

Every eloquent type search model need to use Searchable trait and implement searchParameters method

php artisan search:reindex