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.