Skip to content
SScout Redis Search
ESC

    Getting Started

    Introduction

    A Redis Search engine for Laravel Scout, built around the Scout API you already know.


    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(), and keys().
    • Prefix-friendly - Ad becomes Ad* by default, matching Ada and Adam.
    • Schema-first - declare TEXT, TAG, and NUMERIC fields 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.

    Next steps

    1. Install the package and Redis client
    2. Configure the index schema
    3. Index an Eloquent model
    4. Build searches and filters