Implement full-text search with Laravel Scout. Use when adding search to Eloquent models with Meilisearch, Algolia, or database driver.
From fuse-laravelnpx claudepluginhub fusengine/agents --plugin fuse-laravelThis skill uses the workspace's default tool permissions.
references/drivers.mdreferences/searchable.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Uses ctx7 CLI to fetch current library docs, manage AI coding skills (install/search/generate), and configure Context7 MCP for AI editors.
Before ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
| Component | Purpose |
|---|---|
| Searchable Trait | Makes Eloquent models searchable |
| Search Drivers | Meilisearch, Algolia, database, collection |
| Indexing | Automatic sync on model changes |
| Search Builder | Fluent search API with filters |
Which driver?
├── Production (recommended) → Meilisearch (fast, self-hosted, free)
├── Managed service → Algolia (hosted, pay per search)
├── Small dataset → database (no extra infra)
└── Testing → collection (in-memory, no engine)
composer require laravel/scout
composer require meilisearch/meilisearch-php http-interop/http-factory-guzzle
SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://127.0.0.1:7700
MEILISEARCH_KEY=masterKey
$results = Article::search('laravel tutorial')->paginate(15);
toSearchableArray() to control indexed dataSCOUT_QUEUE=true for performancesearchable() for bulk import after setupScout::withoutSyncing()| Need | Reference |
|---|---|
| Searchable trait, indexing, conditions | searchable.md |
| Driver setup, Meilisearch, Algolia | drivers.md |
SCOUT_QUEUE=true)toSearchableArray()