Để cài đặt và cấu hình Elasticsearch trong Laravel, bạn cần thực hiện các bước sau:
Bước 1: Cài đặt Elasticsearch
Trước tiên, bạn cần cài đặt Elasticsearch trên máy chủ của mình hoặc sử dụng dịch vụ Elasticsearch cloud như Elastic Cloud. Hãy truy cập trang chủ Elasticsearch để tải phiên bản phù hợp và làm theo hướng dẫn cài đặt.
Bước 2: Cài đặt Elasticsearch Package cho Laravel
Tiếp theo, bạn cần cài đặt Elasticsearch package cho Laravel. Có nhiều package khác nhau hỗ trợ Elasticsearch trong Laravel, nhưng một trong những package phổ biến là "Laravel Scout". Để cài đặt Laravel Scout, mở terminal và chạy lệnh sau:
composer require laravel/scout
Bước 3: Cấu hình Elasticsearch trong Laravel
Sau khi cài đặt Laravel Scout, bạn cần cấu hình nó để sử dụng Elasticsearch làm trình tìm kiếm mặc định. Mở tệp .env của Laravel và thêm các thông số cấu hình sau:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Trong đó, SCOUT_DRIVER
định nghĩa trình tìm kiếm mà Laravel Scout sử dụng và SCOUT_ELASTICSEARCH_HOSTS
chỉ định URL Elasticsearch mà Scout sẽ kết nối.
Bước 4: Chạy Migration
Tiếp theo, chạy migration để tạo bảng "searchable" cho các mô hình mà bạn muốn tìm kiếm trong Elasticsearch. Sử dụng lệnh sau:
php artisan migrate
Bước 5: Xác định Mô hình và Chỉ định Mô tả Tìm kiếm
Cuối cùng, trong mô hình mà bạn muốn tìm kiếm, hãy thêm Searchable
trait và chỉ định mô tả tìm kiếm cho mỗi mô hình. Ví dụ:
use Laravel\Scout\Searchable;
class Product extends Model
{
use Searchable;
public function toSearchableArray()
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
//Thêm các trường tìm kiếm khác nếu cần
];
}
}
Bước 6: Đồng bộ dữ liệu với Elasticsearch
Sau khi cấu hình và định nghĩa các mô hình tìm kiếm, hãy chạy lệnh để đồng bộ dữ liệu từ cơ sở dữ liệu của bạn vào Elasticsearch:
php artisan scout:import "App\Models\Product"
Khi đã hoàn thành, Elasticsearch đã được tích hợp vào Laravel và bạn có thể bắt đầu sử dụng tính năng tìm kiếm của nó trong ứng dụng của mình.