Scout Redis Search is a Laravel Scout driver backed by Redis Stack’s RediSearch
module. It stores searchable models as Redis hashes and maps FT.SEARCH results
back to Eloquent models through Scout.
The goal is deliberately small and useful: keep the familiar Searchable trait
and Model::search() API while using a Redis service your application may
already operate for cache, queues, or sessions.
Why Redis?
Many Laravel applications already have Redis in their infrastructure. RediSearch adds an inverted index and query engine to that same server, which is a practical fit for catalogues, admin search, help centres, and other medium-sized datasets.
- Scout compatible - use
search(),where(),paginate(),cursor(), andkeys(). - Prefix-friendly -
AdbecomesAd*by default, matchingAdaandAdam. - Schema-first - declare
TEXT,TAG, andNUMERICfields explicitly. - Testable - query compilation can be unit-tested without Redis, with optional Redis Stack integration tests.
The request path
Eloquent model
-> Searchable trait
-> Redis Search engine
-> FT.SEARCH against a RediSearch index
-> ordered identifiers
-> Eloquent models loaded by Scout
Indexing and searching are separate concerns. The index schema must exist before documents can be searched, and existing records need an import after the index is created.
When to choose something else
Use a dedicated search service when you need advanced faceting, geo queries, vector similarity, typo tolerance across very large datasets, or a hosted search control plane. This driver focuses on a direct Redis-backed Scout experience.