Laravel Scout

Integrar Algolia con Laravel es mucho más fácil desde que apareció Laravel Scout.

Instalar Laravel Scout

Instala Scout y la API de Algolia mediante Composer:

composer require laravel/scout
composer require algolia/algoliasearch-client-php

WARNING

Si utilizas Laravel <= 5.5 añade Laravel\Scout\ScoutServiceProvider::class al array de "service providers" en config/app.php.

Ejecuta este comando para añadir el archivo config/scout.php:

php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"

Configurar Algolia

Accede a Algolia dashboard para obtener las API keys necesarias para configurar el servicio. En tu archivo .env:

ALGOLIA_APP_ID=application_id
ALGOLIA_SECRET=admin_api_key
ALGOLIA_SEARCH=search_only_api_key

Indexar los datos

Indexar datos en Algolia es muy sencillo. Lo único que tienes que hacer es añadir este "trait" a cada modelo que quieras indexar. Esto mantendrá el modelo sincronizado con Algolia. Por ejemplo:




 



 


namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;

class Contact extends Model
{
    use Searchable;
}

Para realizar la primera importación tienes que ejecutar lo siguiente:

php artisan scout:import 'App\Models\Contact'

Hecho esto ya podrás ver los datos importados en el dashboard de Algolia.