Instal dan Konfigurasi Elasticsearch di Laravel

Untuk menginstal dan mengkonfigurasi Elasticsearch di Laravel, ikuti langkah-langkah berikut:

Langkah 1: Instal Elasticsearch

Pertama, Anda perlu menginstal Elasticsearch di server Anda atau menggunakan Elasticsearch layanan cloud seperti Elastic Cloud. Kunjungi Elasticsearch situs web resmi untuk mengunduh versi yang sesuai dan ikuti petunjuk penginstalan.

Langkah 2: Instal Elasticsearch Package untuk Laravel

Selanjutnya, instal Elasticsearch paket untuk Laravel. Ada berbagai paket yang mendukung Elasticsearch, Laravel tetapi satu paket yang populer adalah " Laravel Scout ". Untuk menginstal Laravel Scout, buka terminal dan jalankan perintah berikut:

composer require laravel/scout

Langkah 3: Konfigurasikan Elasticsearch di Laravel

Setelah menginstal Laravel Scout, Anda perlu mengonfigurasinya untuk digunakan Elasticsearch sebagai mesin telusur default. Buka file .env Laravel dan tambahkan parameter konfigurasi berikut:

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

Di mana SCOUT_DRIVER menentukan mesin telusur yang Laravel Scout menggunakan dan SCOUT_ELASTICSEARCH_HOSTS menentukan Elasticsearch URL yang akan disambungkan Scout.

Langkah 4: Jalankan Migration

Selanjutnya, jalankan migration untuk membuat tabel "searchable" untuk model yang ingin Anda telusuri Elasticsearch. Gunakan perintah berikut:

php artisan migrate

Langkah 5: Tentukan Model dan Tetapkan Deskripsi yang Dapat Dicari

Terakhir, pada model yang ingin Anda cari, tambahkan Searchable sifat dan tentukan deskripsi yang dapat dicari untuk setiap model. Misalnya:

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

Langkah 6: Sinkronkan Data dengan Elasticsearch

Setelah mengonfigurasi dan menentukan model yang dapat dicari, jalankan perintah untuk menyinkronkan data dari database Anda ke Elasticsearch:

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

Setelah selesai, Elasticsearch telah diintegrasikan ke dalam Laravel, dan Anda dapat mulai menggunakan fitur pencariannya di aplikasi Anda.