Untuk memasang dan mengkonfigurasi Elasticsearch dalam Laravel, ikuti langkah berikut:
Langkah 1: Pasang Elasticsearch
Pertama, anda perlu memasang Elasticsearch pada pelayan anda atau menggunakan Elasticsearch perkhidmatan awan seperti Elastic Cloud. Lawati Elasticsearch laman web rasmi untuk memuat turun versi yang sesuai dan ikut arahan pemasangan.
Langkah 2: Pasang Elasticsearch Package untuk Laravel
Seterusnya, pasang Elasticsearch pakej untuk Laravel. Terdapat pelbagai pakej yang menyokong Elasticsearch dalam Laravel, tetapi satu pakej yang popular ialah " Laravel Scout ". Untuk memasang Laravel Scout, buka terminal dan jalankan arahan berikut:
composer require laravel/scout
Langkah 3: Konfigurasikan Elasticsearch dalam Laravel
Selepas memasang Laravel Scout, anda perlu mengkonfigurasinya untuk digunakan Elasticsearch sebagai enjin carian lalai. Buka fail .env Laravel dan tambahkan parameter konfigurasi berikut:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Di mana SCOUT_DRIVER
mentakrifkan enjin carian yang Laravel Scout menggunakan dan SCOUT_ELASTICSEARCH_HOSTS
menentukan Elasticsearch URL yang akan disambungkan oleh Scout.
Langkah 4: Lari Migration
Seterusnya, jalankan migration untuk mencipta jadual "boleh dicari" untuk model yang anda ingin cari dalam Elasticsearch. Gunakan arahan berikut:
php artisan migrate
Langkah 5: Tentukan Model dan Berikan Penerangan Boleh Cari
Akhir sekali, dalam model yang anda ingin cari, tambahkan Searchable
sifat dan tentukan perihalan yang boleh dicari untuk setiap model. Sebagai contoh:
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: Segerakkan Data dengan Elasticsearch
Selepas mengkonfigurasi dan mentakrifkan model yang boleh dicari, jalankan arahan untuk menyegerakkan data daripada pangkalan data anda ke Elasticsearch:
php artisan scout:import "App\Models\Product"
Setelah selesai, Elasticsearch telah disepadukan ke dalam Laravel, dan anda boleh mula menggunakan ciri cariannya dalam aplikasi anda.