Pasang dan Konfigurasikan Elasticsearch dalam Laravel

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.