Per installare e configurare Elasticsearch in Laravel, attenersi alla seguente procedura:
Passaggio 1: installa Elasticsearch
Innanzitutto, devi installare Elasticsearch sul tuo server o utilizzare Elasticsearch un servizio cloud come Elastic Cloud. Visitare il Elasticsearch sito Web ufficiale per scaricare la versione appropriata e seguire le istruzioni di installazione.
Passaggio 2: installa Elasticsearch Package per Laravel
Successivamente, installa il Elasticsearch pacchetto per Laravel. Ci sono vari pacchetti che supportano Elasticsearch in Laravel, ma un pacchetto popolare è " Laravel Scout ". Per installare Laravel Scout, apri terminal ed esegui il seguente comando:
composer require laravel/scout
Passaggio 3: configura Elasticsearch in Laravel
Dopo aver installato Laravel Scout, è necessario configurarlo per utilizzarlo Elasticsearch come motore di ricerca predefinito. Apri il file .env di Laravel e aggiungi i seguenti parametri di configurazione:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Dove SCOUT_DRIVER
definisce il motore di ricerca che Laravel Scout utilizza e SCOUT_ELASTICSEARCH_HOSTS
specifica l' Elasticsearch URL a cui si collegherà Scout.
Passaggio 4: eseguire Migration
Successivamente, esegui migration per creare la tabella "ricerca" per i modelli in cui vuoi cercare Elasticsearch. Usa il seguente comando:
php artisan migrate
Passaggio 5: definire il modello e assegnare una descrizione ricercabile
Infine, nel modello che vuoi cercare, aggiungi il Searchable
tratto e definisci la descrizione ricercabile per ogni modello. Per esempio:
use Laravel\Scout\Searchable;
class Product extends Model
{
use Searchable;
public function toSearchableArray()
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
// Add other searchable fields if needed
];
}
}
Passaggio 6: sincronizza i dati con Elasticsearch
Dopo aver configurato e definito i modelli ricercabili, eseguire il comando per sincronizzare i dati dal database a Elasticsearch:
php artisan scout:import "App\Models\Product"
Una volta completato, Elasticsearch è stato integrato in Laravel e puoi iniziare a utilizzare la sua funzione di ricerca nella tua applicazione.