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.