Instalați și configurați Elasticsearch în Laravel

Pentru a instala și configura Elasticsearch în Laravel, urmați acești pași:

Pasul 1: Instalați Elasticsearch

În primul rând, trebuie să instalați Elasticsearch pe serverul dvs. sau să utilizați Elasticsearch un serviciu cloud precum Elastic Cloud. Vizitați Elasticsearch site-ul oficial pentru a descărca versiunea corespunzătoare și urmați instrucțiunile de instalare.

Pasul 2: Instalați Elasticsearch Package pentru Laravel

Apoi, instalați Elasticsearch pachetul pentru Laravel. Există diverse pachete care acceptă Elasticsearch în Laravel, dar un pachet popular este " Laravel Scout ". Pentru a instala Laravel Scout, deschideți terminal și rulați următoarea comandă:

composer require laravel/scout

Pasul 3: Configurați Elasticsearch în Laravel

După instalare Laravel Scout, trebuie să-l configurați pentru a fi utilizat Elasticsearch ca motor de căutare implicit. Deschideți fișierul .env Laravel și adăugați următorii parametri de configurare:

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

Unde SCOUT_DRIVER definește motorul de căutare care Laravel Scout utilizează și SCOUT_ELASTICSEARCH_HOSTS specifică Elasticsearch adresa URL la care se va conecta Scout.

Pasul 4: Aleargă Migration

Apoi, rulați migration pentru a crea tabelul „căutabil” pentru modelele în care doriți să căutați Elasticsearch. Utilizați următoarea comandă:

php artisan migrate

Pasul 5: Definiți modelul și atribuiți o descriere care poate fi căutată

În cele din urmă, în modelul pe care doriți să îl căutați, adăugați trăsătura Searchable și definiți descrierea care poate fi căutată pentru fiecare model. De exemplu:

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

Pasul 6: Sincronizați datele cu Elasticsearch

După configurarea și definirea modelelor care pot fi căutate, rulați comanda pentru a sincroniza datele din baza de date la Elasticsearch:

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

Odată finalizat, Elasticsearch a fost integrat în Laravel, și puteți începe să utilizați funcția de căutare în aplicația dvs.