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.