![]()
WARNING You're browsing the documentation for an upcoming version of Laravel DataTables. The documentation and features of this release are subject to change.
Scout Search Integration
Laravel DataTables supports Laravel Scout for full-text search capabilities. This integration uses Scout's search engine (Meilisearch or Algolia) for searching while maintaining DataTables' pagination, filtering, and ordering.
Requirements
- Laravel Scout installed and configured
- A Searchable model
- Meilisearch or Algolia as the search driver
Basic Usage
use Yajra\DataTables\Facades\DataTables;use App\Models\User; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->enableScoutSearch(User::class) ->toJson();});
Configure Maximum Results
By default, Scout search returns up to 1000 results. Adjust this with the second parameter:
use Yajra\DataTables\Facades\DataTables;use App\Models\User; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->enableScoutSearch(User::class, 500) ->toJson();});
Dynamic Filters
Use scoutFilter() to add dynamic filters to the Scout search:
use Yajra\DataTables\Facades\DataTables;use App\Models\User; Route::get('user-data', function() { return DataTables::eloquent(User::query()) ->enableScoutSearch(User::class) ->scoutFilter(function (string $keyword) { // Add Scout filters based on request parameters $filters = []; if (request()->has('role')) { $filters[] = "role = '" . request('role') . "'"; } if (request()->has('verified')) { $filters[] = "verified = " . (request('verified') ? 'true' : 'false'); } return implode(' AND ', $filters); }) ->toJson();});
Search Result Ordering
When using Scout search:
- Results are automatically ordered by search relevance
- User ordering is disabled by default to maintain relevance ordering
- The response includes
disableOrdering: truein the appended data
Supported Search Engines
| Engine | Support | Notes |
|---|---|---|
| Meilisearch | ✅ Full | Recommended |
| Algolia | ✅ Full | Requires API configuration |
Automatic Fallback
If Scout search fails (e.g., network error, service unavailable), DataTables automatically falls back to the standard database search.
See Also
- Laravel Scout Documentation
- Manual Search - Custom search logic
- Smart Search - Wildcard search