Installera och konfigurera Elasticsearch i Laravel

Följ dessa steg för att installera och konfigurera Elasticsearch i: Laravel

Steg 1: Installera Elasticsearch

För det första måste du installera Elasticsearch på din server eller använda Elasticsearch molntjänst som Elastic Cloud. Besök den Elasticsearch officiella webbplatsen för att ladda ner lämplig version och följ installationsinstruktionerna.

Steg 2: Installera Elasticsearch Package för Laravel

Installera sedan Elasticsearch paketet för Laravel. Det finns olika paket som stöder Elasticsearch i Laravel, men ett populärt paket är " " Laravel Scout. För att installera Laravel Scout, öppna terminal och kör följande kommando:

composer require laravel/scout

Steg 3: Konfigurera Elasticsearch i Laravel

Efter installationen Laravel Scout måste du konfigurera den för att använda Elasticsearch som standardsökmotor. Öppna .env-filen för Laravel och lägg till följande konfigurationsparametrar:

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

Where SCOUT_DRIVER definierar sökmotorn som Laravel Scout använder och SCOUT_ELASTICSEARCH_HOSTS anger Elasticsearch webbadressen som Scout kommer att ansluta till.

Steg 4: Kör Migration

Kör sedan migration för att skapa den "sökbara" tabellen för de modeller du vill söka i Elasticsearch. Använd följande kommando:

php artisan migrate

Steg 5: Definiera modell och tilldela sökbar beskrivning

Slutligen, i modellen du vill söka, lägg till Searchable egenskapen och definiera den sökbara beskrivningen för varje modell. Till exempel:

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

Steg 6: Synkronisera data med Elasticsearch

Efter att ha konfigurerat och definierat de sökbara modellerna, kör kommandot för att synkronisera data från din databas till Elasticsearch:

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

När den är klar, Elasticsearch har den integrerats i Laravel, och du kan börja använda dess sökfunktion i din applikation.