Customizing Builder
You can customize the Scout query for each model by overriding the globalSearchBuilder() method.
Override globalSearchBuilder()
Section titled “Override globalSearchBuilder()”Use this method to apply where clauses, scopes, or other query modifications:
use Laravel\Scout\Builder;
public function globalSearchBuilder(Builder $builder, string $query): Builder{ return $builder->where('published', true);}Meilisearch Word-boundary Caveat
Section titled “Meilisearch Word-boundary Caveat”Meilisearch uses word-prefix matching. Substrings that don’t start at a word boundary (e.g., “ano” in “Mariano”) won’t match.
If you need infix/substring matching, you can configure attributesToSearchOn in Meilisearch or switch to the database driver.
Algolia-specific Tuning
Section titled “Algolia-specific Tuning”For Algolia, you can pass additional parameters to the search:
public function globalSearchBuilder(Builder $builder, string $query): Builder{ return $builder->with([ 'aroundLatLng' => '40.71, -74.01', ]);}Database Driver Examples
Section titled “Database Driver Examples”The database driver uses LIKE queries, which support infix matching by default:
public function globalSearchBuilder(Builder $builder, string $query): Builder{ return $builder->where('active', true);}