globalia/laravel-scout-mysql

There is no license information available for the latest version (1.0.1) of this package.

MySql Driver for Laravel Scout

1.0.1 2017-07-23 22:26 UTC

This package is not auto-updated.

Last update: 2024-04-26 14:33:38 UTC


README

This package is a MySQL driver for Laravel Scout.

Contents

Installation

You can install the package via composer:

composer config repositories.globalia/laravel-scout-mysql git https://github.com/globalia/laravel-scout-mysql.git

composer require "globalia/laravel-scout-mysql" "^1.0"

You must add the Scout service provider and the package service provider in your app.php config:

// config/app.php
'providers' => [
    ...
    Laravel\Scout\ScoutServiceProvider::class,
    Globalia\LaravelScoutMysql\ScoutMysqlServiceProvider::class,
],

Setting up database search indexes table:

php artisan migrate

After you've published the Laravel Scout package configuration:

// config/scout.php
// Set your driver to mysql
    'driver' => env('SCOUT_DRIVER', 'mysql'),

Usage

Here is an example of how to use the engine:

    $result = Todo::search($term)
        ->where('boost(name)', 5)
        ->where('boost(tags)', 2)
        ->where('checked', 1)
        ->where('published_at >=', \Carbon::now());

    return null === $limit ? $result->get() : $result->paginate($limit);

Instead of using the "Laravel\Scout\Searchable" trait, use this "Globalia\LaravelScoutMysql\Models\Concerns\HasSearchIndex"

otherwise you can use Laravel Scout as described in the official documentation

Searching in all models

Since the index table is a model, you can search in it directly. Each result will be hydrated to its corresponding model.

    $result = SearchIndex::search($term);

Credits