Zainstaluj i skonfiguruj Elasticsearch w Laravel

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.