Installa e configura Elasticsearch in Laravel

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.