laravel-scout

SkillSearch

Implement full-text search with Laravel Scout. Use when adding search to Eloquent models with Meilisearch, Algolia, or database driver.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the laravel-scout skill

What this skill tells your AI

The instructions your AI receives, as published by fusengine/agents in plugins/laravel-expert/skills/laravel-scout/SKILL.md and read by ahel’s review.

Laravel Scout

Agent Workflow (MANDATORY)

Before ANY implementation, spawn 3 agents in parallel, one Agent call each with a name:

  1. fuse-ai-pilot:explore-codebase - Analyze existing model and search patterns
  2. fuse-ai-pilot:research-expert - Verify Scout docs via Context7
  3. mcp__context7__query-docs - Check search and indexing patterns

After implementation, run fuse-ai-pilot:sniper for validation.


Overview

ComponentPurpose
Searchable TraitMakes Eloquent models searchable
Search DriversMeilisearch, Algolia, database, collection
IndexingAutomatic sync on model changes
Search BuilderFluent search API with filters

Decision Guide: Search Driver

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)

Quick Setup

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);

Critical Rules

  1. Use toSearchableArray() to control indexed data
  2. Queue indexing with SCOUT_QUEUE=true for performance
  3. Use searchable() for bulk import after setup
  4. Pause indexing during seeders with Scout::withoutSyncing()

Reference Guide

NeedReference
Searchable trait, indexing, conditionssearchable.md
Driver setup, Meilisearch, Algoliadrivers.md

Best Practices

DO

  • Use Meilisearch for production (fast, typo-tolerant)
  • Queue indexing operations (SCOUT_QUEUE=true)
  • Limit indexed fields with toSearchableArray()

DON'T

  • Index sensitive data (passwords, tokens)
  • Forget to import existing records after setup
  • Use collection driver in production

Laravel 13 Notes

Vector search natif pgvector

Pour la recherche sémantique (embeddings) sur PostgreSQL, Laravel 13 expose Schema::ensureVectorExtensionExists() et whereVectorSimilarTo() via la skill dédiée [[laravel-vector-search]]. Scout reste pertinent pour le full-text (Meilisearch/Algolia) ; pour la similarité vectorielle, utiliser pgvector directement sans driver Scout.

// Hybride : Scout pour full-text, pgvector pour similarité
$keyword = Post::search($query)->get();
$semantic = Post::whereVectorSimilarTo('embedding', $embedding, limit: 10)->get();

Signals

GitHub stars
25
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
laravel-scout
Source
github.com/fusengine/agents