Namestite in konfigurirajte Elasticsearch v Laravel

Č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.