Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Scout Laravel Package

laravel/scout

Laravel Scout adds driver-based full-text search to Eloquent models, automatically syncing model changes to indexes. Supports Algolia, Meilisearch, and Typesense.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for search. Scout answers the recurring roadmap question "do we build a search service?" with a third option: keep search logic in the app (Eloquent models, one Searchable trait, one query builder) and rent the index (Algolia, Meilisearch, Typesense) or defer it entirely with the built-in database/collection engines. The PM decision becomes "which engine, when," not "which team and which quarter."
  • Sequencing search as a staged investment. The database engine lets you ship MVP search on existing infrastructure with zero new vendors, then flip a config value to Meilisearch/Typesense when relevance, typo tolerance, or faceting becomes a competitive requirement. That is a genuine de-risking lever: no rewrite, no migration project, no re-platforming narrative for stakeholders.
  • Vendor selection and commercial terms. Because the driver is swappable, the Algolia (SaaS, per-search/per-record pricing, best-in-class relevance and analytics) vs. Meilisearch/Typesense (self-hosted or cloud, cheaper at volume, more ops load) trade-off can be made on unit economics and data-residency rather than on engineering lock-in. Model this before committing to an annual contract.
  • Feature scope decisions. Scout directly supports multi-model search, filters (where/whereIn), sorting, pagination, soft-delete awareness, and sync-on-save. It does not give you relevance tuning tooling, synonym/curation management, search analytics dashboards, vector/semantic search, or geosearch as first-class concerns. Any roadmap item in that list is a separate decision with separate cost.
  • Index freshness as a product promise. Queued indexing means search results can lag writes, and the changelog shows ongoing race-condition and consistency fixes across engines. Decide explicitly what "just saved it, why can't I find it?" costs you in support tickets and admin UX, and whether synchronous indexing is acceptable for low-write models.
  • Ops and release-risk budgeting. The package is actively maintained (Laravel 12 and PHP 8.4 support, frequent patch releases), MIT-licensed with no legal friction — but engine client majors do cause breaking upgrades (the Algolia client v2 jump in 7.0). Budget a small annual maintenance line, not a project.

When to Consider This Package

Adopt when:

  • The product is a Laravel app with Eloquent models and search is a feature, not the product.
  • Users expect typo tolerance, prefix/autocomplete, relevance ranking, or cross-entity search that LIKE '%term%' cannot deliver without degrading the primary database.
  • You want one search integration across several models (products, articles, users) instead of N bespoke integrations.
  • You need engine optionality — data residency, cost thresholds, or a future self-host mandate — and want to preserve the ability to switch without touching application code.
  • Team size is small and the search index is not a dedicated area of ownership.

Look elsewhere when:

  • Search is the product (marketplace discovery, large catalogs, ranking as a differentiator). You need curation tooling, A/B-tested relevance, learning-to-rank, or embeddings — go direct to the engine's API or a dedicated search platform; Scout's builder is deliberately a lowest-common-denominator abstraction and will fight you.
  • You need heavy analytics on search behavior as a first-class requirement; that lives in the engine's console, not in Scout.
  • The data store is Postgres and tsvector/pg_trgm already meets the bar — a new index and a new failure mode is not worth it.
  • Non-Laravel services dominate the architecture; the value is the Eloquent integration.
  • You require guaranteed read-after-write consistency on search with no async pipeline.
  • High-volume, low-latency, or multi-tenant index isolation requirements exceed what one configured engine per app comfortably serves.

Note on the "0 dependents" figure: treat it as a data artifact, not a signal. Scout is the default Laravel search package and ships with the framework's own documentation; validate adoption through your own engineers and the Laravel ecosystem, not through that metric.

How to Pitch It (Stakeholders)

To executives: Search quality is a retention and conversion lever, and this is the cheapest credible way to get there. Scout is the officially maintained Laravel search layer — MIT-licensed, no procurement cycle — that turns "add search" from a multi-month platform build into days of integration work. It also protects us commercially: we can start with no new vendor at all, prove the feature, then buy Algolia or self-host Meilisearch/Typesense on the terms that suit us, and switch later without re-engineering. Expected costs are an engine subscription or a small self-hosted footprint plus a modest ongoing maintenance allowance; the main risk to manage is index lag producing "I can't find what I just created" complaints, which we address with sync-on-write for critical models and clear UX.

To engineering: Idiomatic Laravel — a Searchable trait, model observers, queued sync, and scout:import/scout:index artisan commands, so there is no bespoke indexing pipeline to own. Driver-based, so engine choice is configuration. Caveats to accept up front: the query builder is intentionally the intersection of engine capabilities, so engine-specific power features require dropping to the raw client; pagination and filtering have had a steady stream of edge-case fixes across Typesense and Meilisearch, so pin versions and test upgrades; and queued indexing is eventually consistent. Supports current Laravel and PHP versions and is actively released.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections