Tìm kiếm Cơ bản trong Laravel với Elasticsearch

Tìm kiếm cơ bản trong Laravel với Elasticsearch là một trong những chức năng quan trọng khi tích hợp Elasticsearch vào dự án Laravel của bạn. Để thực hiện tìm kiếm cơ bản, bạn cần làm các bước sau:

Bước 1: Tạo Model và Xác định Mô tả Tìm kiếm

Đầu tiên, tạo một Model trong Laravel và xác định mô tả tìm kiếm cho model này. Mô tả tìm kiếm là một mảng chứa các trường bạn muốn tìm kiếm trong Elasticsearch.

Ví dụ: Trong model "Product", bạn muốn tìm kiếm theo trường "name" và "description".

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 2: Tìm kiếm dữ liệu

Sau khi xác định mô tả tìm kiếm trong model, bạn có thể sử dụng phương thức search() để thực hiện tìm kiếm dữ liệu trong Elasticsearch.

$keyword = "Laravel";

$results = Product::search($keyword)->get();

Phương thức search($keyword) sẽ tìm kiếm các bản ghi chứa từ khóa "Laravel" trong trường "name" và "description" của model "Product".

Bước 3: Hiển thị Kết quả

Sau khi thực hiện tìm kiếm, bạn có thể sử dụng kết quả để hiển thị thông tin cho người dùng.

foreach ($results as $result) {
    echo $result->name . ": " . $result->description;
    // Hiển thị thông tin sản phẩm hoặc dữ liệu tìm kiếm khác
}

Điều này cho phép bạn trình bày kết quả tìm kiếm cơ bản từ Elasticsearch trong ứng dụng Laravel của bạn.