Installer og konfigurer Elasticsearch i Laravel

Følg disse trin for at installere og konfigurere Elasticsearch i: Laravel

Trin 1: Installer Elasticsearch

For det første skal du installere Elasticsearch på din server eller bruge Elasticsearch cloud-tjeneste som Elastic Cloud. Besøg det Elasticsearch officielle websted for at downloade den relevante version og følg installationsinstruktionerne.

Trin 2: Installer Elasticsearch Package for Laravel

Installer derefter Elasticsearch pakken til Laravel. Der er forskellige pakker der understøtter Elasticsearch i Laravel, men en populær pakke er " Laravel Scout ". For at installere Laravel Scout skal du åbne terminal og køre følgende kommando:

composer require laravel/scout

Trin 3: Konfigurer Elasticsearch i Laravel

Efter installationen Laravel Scout skal du konfigurere den til at bruge Elasticsearch som standardsøgemaskine. Åbn .env-filen til Laravel og tilføj følgende konfigurationsparametre:

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

Hvor SCOUT_DRIVER definerer den søgemaskine, der Laravel Scout bruger og SCOUT_ELASTICSEARCH_HOSTS specificerer den Elasticsearch URL, som Scout vil oprette forbindelse til.

Trin 4: Kør Migration

Kør derefter migration for at oprette den "søgbare" tabel for de modeller, du vil søge i Elasticsearch. Brug følgende kommando:

php artisan migrate

Trin 5: Definer model og tildel søgbar beskrivelse

Til sidst, i den model, du vil søge, tilføjer du egenskaben Searchable og definerer den søgbare beskrivelse for hver model. 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  
        ];  
    }  
}  

Trin 6: Synkroniser data med Elasticsearch

Når du har konfigureret og defineret de søgbare modeller, skal du køre kommandoen for at synkronisere data fra din database til Elasticsearch:

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

Når den er afsluttet, Elasticsearch er den blevet integreret i Laravel, og du kan begynde at bruge dens søgefunktion i din applikation.