Če želite namestiti in konfigurirati Elasticsearch v Laravel, sledite tem korakom:
1. korak: Namestite Elasticsearch
Najprej morate namestiti Elasticsearch na svoj strežnik ali uporabiti Elasticsearch storitev v oblaku, kot je Elastic Cloud. Obiščite Elasticsearch uradno spletno stran za prenos ustrezne različice in sledite navodilom za namestitev.
2. korak: Namestite Elasticsearch Package za Laravel
Nato namestite Elasticsearch paket za Laravel. Obstajajo različni paketi, ki podpirajo Elasticsearch jezik Laravel, vendar je eden od priljubljenih paketov " Laravel Scout ". Za namestitev Laravel Scout odprite terminal in zaženite naslednji ukaz:
composer require laravel/scout
3. korak: Konfigurirajte Elasticsearch v Laravel
Po namestitvi Laravel Scout ga morate konfigurirati za uporabo Elasticsearch kot privzeti iskalnik. Odprite datoteko .env Laravel in dodajte naslednje konfiguracijske parametre:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Kje SCOUT_DRIVER
določa iskalnik, ki Laravel Scout uporablja, in SCOUT_ELASTICSEARCH_HOSTS
določa Elasticsearch URL, s katerim se bo Scout povezal.
4. korak: Zaženite Migration
Nato zaženite, migration da ustvarite tabelo »iskanje« za modele, v katerih želite iskati Elasticsearch. Uporabite naslednji ukaz:
php artisan migrate
5. korak: Definirajte model in dodelite iskalni opis
Nazadnje v modelu, ki ga želite iskati, dodajte lastnost Searchable
in definirajte opis, po katerem je mogoče iskati, za vsak model. Na primer:
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
];
}
}
6. korak: Sinhronizirajte podatke z Elasticsearch
Ko konfigurirate in definirate modele, po katerih je mogoče iskati, zaženite ukaz za sinhronizacijo podatkov iz vaše zbirke podatkov v Elasticsearch:
php artisan scout:import "App\Models\Product"
Ko je dokončan, Elasticsearch je integriran v Laravel, in lahko začnete uporabljati njegovo iskalno funkcijo v svoji aplikaciji.