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.