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

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