Instalirajte i konfigurirajte Elasticsearch u Laravel

Za instalaciju i konfiguraciju Elasticsearch u Laravel, slijedite ove korake:

Korak 1: Instalirajte Elasticsearch

Prvo, trebate instalirati Elasticsearch na svoj poslužitelj ili koristiti Elasticsearch uslugu u oblaku kao što je Elastic Cloud. Posjetite Elasticsearch službenu web stranicu za preuzimanje odgovarajuće verzije i slijedite upute za instalaciju.

Korak 2: Instalirajte Elasticsearch Package za Laravel

Zatim instalirajte Elasticsearch paket za Laravel. Postoje različiti paketi koji podržavaju Elasticsearch, Laravel ali jedan popularan paket je " Laravel Scout ". Za instalaciju Laravel Scout otvorite terminal i pokrenite sljedeću naredbu:

composer require laravel/scout

Korak 3: Konfigurirajte Elasticsearch u Laravel

Nakon instaliranja Laravel Scout morate ga konfigurirati za korištenje Elasticsearch kao zadanu tražilicu. Otvorite .env datoteku Laravel i dodajte sljedeće konfiguracijske parametre:

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

Gdje SCOUT_DRIVER definira tražilicu koja Laravel Scout koristi i SCOUT_ELASTICSEARCH_HOSTS specificira Elasticsearch URL na koji će se Scout spojiti.

Korak 4: Trčite Migration

Zatim pokrenite da migration biste stvorili tablicu "pretraživu" za modele u kojima želite pretraživati Elasticsearch. Koristite sljedeću naredbu:

php artisan migrate

Korak 5: Definirajte model i dodijelite opis koji se može pretraživati

Na kraju, u model koji želite pretražiti, dodajte Searchable značajku i definirajte pretraživi opis za svaki model. Na primjer:

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

Korak 6: Sinkronizirajte podatke s Elasticsearch

Nakon konfiguriranja i definiranja modela koji se mogu pretraživati, pokrenite naredbu za sinkronizaciju podataka iz vaše baze podataka u Elasticsearch:

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

Nakon dovršetka, Elasticsearch integriran je u Laravel, i možete početi koristiti njegovu značajku pretraživanja u svojoj aplikaciji.