Installer og konfigurer Elasticsearch i Laravel

Følg disse trinnene for å installere og konfigurere Elasticsearch i: Laravel

Trinn 1: Installer Elasticsearch

For det første må du installere Elasticsearch på serveren din eller bruke Elasticsearch skytjeneste som Elastic Cloud. Besøk det Elasticsearch offisielle nettstedet for å laste ned riktig versjon og følg installasjonsinstruksjonene.

Trinn 2: Installer Elasticsearch Package for Laravel

Installer deretter Elasticsearch pakken for Laravel. Det er forskjellige pakker som støtter Elasticsearch i Laravel, men en populær pakke er " Laravel Scout ". For å installere Laravel Scout, åpne terminal og kjør følgende kommando:

composer require laravel/scout

Trinn 3: Konfigurer Elasticsearch i Laravel

Etter installasjon Laravel Scout må du konfigurere den til å bruke Elasticsearch som standard søkemotor. Åpne .env-filen til Laravel og legg til følgende konfigurasjonsparametere:

SCOUT_DRIVER=elasticsearch  
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200  

Where SCOUT_DRIVER definerer søkemotoren som Laravel Scout bruker og SCOUT_ELASTICSEARCH_HOSTS spesifiserer Elasticsearch URLen som Scout vil koble til.

Trinn 4: Kjør Migration

Deretter kjører du migration for å lage den "søkbare" tabellen for modellene du vil søke i Elasticsearch. Bruk følgende kommando:

php artisan migrate

Trinn 5: Definer modell og tildel søkbar beskrivelse

Til slutt, i modellen du ønsker å søke, legg til Searchable egenskapen og definer den søkbare beskrivelsen for hver modell. For eksempel:

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  
        ];  
    }  
}  

Trinn 6: Synkroniser data med Elasticsearch

Etter å ha konfigurert og definert de søkbare modellene, kjør kommandoen for å synkronisere data fra databasen til Elasticsearch:

php artisan scout:import "App\Models\Product"

Når den er fullført, Elasticsearch er den integrert i Laravel, og du kan begynne å bruke søkefunksjonen i applikasjonen din.