Aby zainstalować i skonfigurować Elasticsearch w programie Laravel, wykonaj następujące kroki:
Krok 1: Zainstaluj Elasticsearch
Po pierwsze, musisz zainstalować Elasticsearch na swoim serwerze lub skorzystać z Elasticsearch usługi w chmurze, takiej jak Elastic Cloud. Odwiedź Elasticsearch oficjalną stronę internetową, aby pobrać odpowiednią wersję i postępuj zgodnie z instrukcjami instalacji.
Krok 2: Zainstaluj Elasticsearch Package dla Laravel
Następnie zainstaluj Elasticsearch pakiet dla Laravel. Istnieją różne pakiety obsługujące Elasticsearch program Laravel, ale jednym z popularnych pakietów jest „ Laravel Scout ”. Aby zainstalować Laravel Scout, otwórz terminal i uruchom następujące polecenie:
composer require laravel/scout
Krok 3: Skonfiguruj Elasticsearch w Laravel
Po zainstalowaniu Laravel Scout musisz skonfigurować go Elasticsearch jako domyślną wyszukiwarkę. Otwórz plik .env Laravel i dodaj następujące parametry konfiguracyjne:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Gdzie SCOUT_DRIVER
definiuje używaną wyszukiwarkę Laravel Scout i SCOUT_ELASTICSEARCH_HOSTS
określa Elasticsearch adres URL, z którym Scout będzie się łączyć.
Krok 4: Biegnij Migration
Następnie uruchom, migration aby utworzyć tabelę „z możliwością wyszukiwania” dla modeli, które chcesz przeszukać w programie Elasticsearch. Użyj następującego polecenia:
php artisan migrate
Krok 5: Zdefiniuj model i przypisz opis z możliwością wyszukiwania
Na koniec w modelu, który chcesz przeszukać, dodaj Searchable
cechę i zdefiniuj możliwy do przeszukiwania opis dla każdego modelu. Na przykład:
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
];
}
}
Krok 6: Zsynchronizuj dane z Elasticsearch
Po skonfigurowaniu i zdefiniowaniu modeli z możliwością wyszukiwania uruchom komendę, aby zsynchronizować dane z bazy danych z Elasticsearch:
php artisan scout:import "App\Models\Product"
Po zakończeniu Elasticsearch został zintegrowany z programem Laravel i możesz zacząć korzystać z jego funkcji wyszukiwania w swojej aplikacji.