# Scout Integration
By default, Nova searches your resources using the resource's database columns. However, this can become inefficient and lacks support for robust fuzzy matching capabilities provided by "real" search engines.
For this reason, Nova integrates seamlessly with Laravel Scout (opens new window). When the Laravel\Scout\Searchable
trait is attached to a model associated with a Nova resource, Nova will automatically begin using Scout when performing searches against that resource. There is no other configuration required.
# Customizing Scout Searches
If you would like to call methods on the Laravel\Scout\Builder
instance before it executes your search query against your search provider, you may override the scoutQuery
method on your resource:
use Laravel\Nova\Http\Requests\NovaRequest;
/**
* Build a Scout search query for the given resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Laravel\Scout\Builder $query
* @return \Laravel\Scout\Builder
*/
public static function scoutQuery(NovaRequest $request, $query)
{
return $query;
}
# Customizing Scout Search Results Amount
You can customize the amount of search results returned from your Scout driver by setting the scoutSearchResults
property on the Resource
class using Scout:
/**
* The number of results to display when searching the resource using Scout.
*/
public static $scoutSearchResults = 200;
# Disabling Scout Search
You may disable Scout search support for a specific resource by defining a usesScout
method on the resource class:
/**
* Determine if this resource uses Laravel Scout.
*
* @return bool
*/
public static function usesScout()
{
return false;
}