Skip to content
Icon

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: true in 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