codewiser / laravel-meilisearch
v1.0.5
2024-04-18 12:50 UTC
Requires
- php: ^8.0
- laravel/framework: >=10.0
- laravel/scout: >=10.0
- meilisearch/meilisearch-php: ^1.4
Suggests
- codewiser/laravel-scout: Helps building multidriver Scout searches
README
Laravel 的 Meilisearch Scout 驱动器助手。
默认情况下,我们应该在 config/scout.php
中配置 Meilisearch 索引设置:[配置 Meilisearch 可过滤数据](https://laravel.net.cn/docs/10.x/scout#configuring-filterable-data-for-meilisearch)
use App\Models\User; use App\Models\Flight; 'meilisearch' => [ 'host' => env('MEILISEARCH_HOST', 'https://:7700'), 'key' => env('MEILISEARCH_KEY', null), 'index-settings' => [ User::class => [ 'filterableAttributes'=> ['id', 'name', 'email'], 'sortableAttributes' => ['created_at'], // Other settings fields... ], Flight::class => [ 'filterableAttributes'=> ['id', 'destination'], 'sortableAttributes' => ['updated_at'], ], ], ],
使用 Attributes
class User extends \Illuminate\Database\Eloquent\Model { use \Laravel\Scout\Searchable; #[MeilisearchFilterableAttributes(['id', 'name', 'email'])] #[MeilisearchSortableAttributes(['created_at'])] public function toSearchableArray() { // } }
class Flight extends \Illuminate\Database\Eloquent\Model { use \Laravel\Scout\Searchable; #[MeilisearchFilterableAttributes(['id', 'destination'])] #[MeilisearchSortableAttributes(['updated_at'])] public function toSearchableArray() { // } }
只需在 config/scout.php
中列出可搜索的类
use App\Models\User; use App\Models\Flight; 'meilisearch' => [ 'host' => env('MEILISEARCH_HOST', 'https://:7700'), 'key' => env('MEILISEARCH_KEY', null), 'searchable' => [User::class, Flight::class], ],
控制台
使用 scout:meilisearch-rebuild
命令完全重建 Meilisearch 索引。