Laravel Scout
Cài đặt gói scout với lệnh :
composer require laravel/scout
public file config scout  với lệnh
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider" 
Mình sử dụng algolia từ https://www.algolia.com/ làm dịch vụ search
Mình sử dụng queue để sử dụng ở file config/scout.php
SCOUT_QUEUE=true
Ví dụ ở đây mình sử dụng Searchable Trait ở trong model Post
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class Post extends Model
{
    /** @use HasFactory<\Database\Factories\PostFactory> */
    use HasFactory,Searchable;
    public function searchableAs(): string
    {
        return 'posts_index';
    }
    public function toSearchableArray()
    {
        return [
            'id'=>(int) $this->id,
            'title'=> $this->title,
            ];
    }
}
Ở đây dùng searchableAs để đổi tên index , toSearchableArray để chọn các trường có thể tìm kiếm
Cách sử dụng ở đây rất đơn giản với lệnh :
 public function search()
    {
        $data = Post::search('Hiến')->paginate(20);
        dd($data);
    }
Ta cũng có thể bật tính năng đồng bộ với lệnh :
public function dongbo(){
        Post::makeAllSearchable();
       /* $post = Post::find(1);
        $post->searchable(); // Thêm vào chỉ mục tìm kiếm
        $post->unsearchable(); // Xóa khỏi chỉ mục tìm kiếm */
    }  
Ở đây mình đã bật chế độ queue=true nên cần set up lệnh chqạy
php artisan queue:work
Thế là xong .Thanks you các bạn đã quan tâm
 
                                    
                 
                 
                 
                