Įdiegti ir Elasticsearch konfigūruoti Laravel

Norėdami įdiegti ir konfigūruoti Elasticsearch, Laravel atlikite šiuos veiksmus:

1 veiksmas: įdiekite Elasticsearch

Pirmiausia turite įdiegti Elasticsearch savo serveryje arba naudoti Elasticsearch debesies paslaugą, pvz., Elastic Cloud. Apsilankykite Elasticsearch oficialioje svetainėje, atsisiųskite atitinkamą versiją ir vykdykite diegimo instrukcijas.

2 veiksmas: Elasticsearch Package įdiekite Laravel

Tada įdiekite Elasticsearch paketą, skirtą Laravel. Yra įvairių paketų, kurie palaiko Elasticsearch, Laravel tačiau vienas populiarus paketas yra " Laravel Scout ". Norėdami įdiegti Laravel Scout, atidarykite terminal ir paleiskite šią komandą:

composer require laravel/scout

3 veiksmas: Elasticsearch sukonfigūruokite Laravel

Įdiegę Laravel Scout turite sukonfigūruoti jį naudoti Elasticsearch kaip numatytąjį paieškos variklį. Atidarykite .env failą Laravel ir pridėkite šiuos konfigūracijos parametrus:

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

Kur SCOUT_DRIVER apibrėžia paieškos variklį, kuris Laravel Scout naudoja ir SCOUT_ELASTICSEARCH_HOSTS nurodo Elasticsearch URL, prie kurio prisijungs Scout.

4 veiksmas: paleiskite Migration

Tada paleiskite, migration kad sukurtumėte modelių, kuriuose norite ieškoti, lentelę „ieškoma“ Elasticsearch. Naudokite šią komandą:

php artisan migrate

5 veiksmas: apibrėžkite modelį ir priskirkite ieškomą aprašymą

Galiausiai modelyje, kurio norite ieškoti, pridėkite bruožą Searchable ir apibrėžkite kiekvieno modelio ieškomą aprašymą. Pavyzdžiui:

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 veiksmas: sinchronizuokite duomenis su Elasticsearch

Sukonfigūravę ir apibrėžę modelius, kuriuose galima ieškoti, paleiskite komandą, kad sinchronizuotumėte duomenis iš duomenų bazės su Elasticsearch:

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

Užbaigus, Elasticsearch jis buvo integruotas į Laravel, ir galite pradėti naudoti jo paieškos funkciją savo programoje.