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

Algoliasearch Laravel Laravel Package

algolia/algoliasearch-laravel

Official Algolia integration for Laravel. Index Eloquent models, keep them synced automatically, and add fast, typo-tolerant search to your app, with Scout support, aggregators, and zero-downtime reindexing.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Verdict: still do not adopt. Release 1.7.1 changes one fact and no conclusion. The changelog is a single line — "Make compatible with Laravel 5.4" — which moves the ceiling of supported frameworks from pre-5.4 to Laravel 5.4. Laravel 5.4 shipped in January 2017 and left security support in January 2018; it is not a supported framework in 2025, and our codebases are on 10/11/12. Nothing in the release touches the actual blockers: the pinned algolia/algoliasearch-client-php ^1.0, the PHP 5.6/7.0-era code paths, the absence of a security policy, and the fact that first-party Laravel Scout has owned this capability since 2016. A dependency whose newest release targets an eight-year-old framework is not being maintained; it is being minimally unblocked.

Architecture fit. Unchanged. The package remains a thin service provider + facade + Eloquent trait that predates package auto-discovery. It couples models directly to Algolia PHP SDK v1 with no queue integration, no index-settings-as-code, and no multi-model support. The abstraction boundary is still wrong for any maintained Laravel app: search belongs behind Scout or an internal adapter, not a hard-coded SDK wrapper.

Integration feasibility. Low, and the release does not move it:

  • The PHP constraint is still effectively 5.6/7.0-era. Laravel 5.4 itself supports PHP 5.6.4+, so raising the framework ceiling does not add PHP 8.x compatibility — the removed constructs (each(), curly-brace string offsets) and the v1 SDK remain.
  • algolia/algoliasearch-client-php ^1.0 is still pinned and still unsupported; current is v4.x. No dependency bump appears in this release.
  • Service provider registration is still pre-auto-discovery; facade alias and provider entry must be wired by hand.

Technical risk. High, unchanged, with a new item:

  • Security/patch path: still no security policy, no CVE response, no patch commitment. Anything in the bundled SDK is permanently ours.
  • Provenance (new): a dormant repository publishing a release after years of inactivity is a supply-chain signal, not a reassurance. Before anything else, confirm who holds publish rights on the Packagist namespace, whether the repo changed hands, and whether the tag is signed. Dormant-package resurrect-and-tag is a known attack pattern; a legitimate maintainer doing a one-line 2017 compatibility bump is only marginally better, because it establishes that releases can happen without a maintenance commitment behind them.
  • Correctness: silent indexing failures remain the historical failure mode — drift, missed deletes, no retry semantics.
  • Audit/reputational: still fails dependency-hygiene gates (Snyk/Dependabot/SBOM), and a surprise release on an archived package makes the "is this maintained?" review harder to answer cleanly, not easier.
  • Knowledge risk: near-zero community answer surface; 238 stars and a 2017-era API.

Key questions for the requester:

  1. Did this release change your decision, and if so on what basis? "Now supports Laravel 5.4" is not a capability gain for a team on 10/11/12.
  2. What is driving this specific package — a legacy app, a tutorial, or a Scout gap? If a legacy app, what is the migration budget?
  3. Which Laravel and PHP versions are in scope, and is Algolia contracted, or is the vendor still open (Meilisearch/Typesense/Postgres FTS are drop-in Scout drivers)?
  4. Do requirements exceed Scout's out-of-box capabilities? If so, algolia/scout-extended or the maintained PHP client is the answer, not this package.
  5. Has anyone verified the provenance of the 1.7.1 tag — publisher identity, signing, diff contents? If not, that is a prerequisite to any further evaluation, not a follow-up.

Integration Approach

Stack fit. Unchanged: laravel/scout plus the current algolia/algoliasearch-client-php, with algolia/scout-extended only if aggregators/multi-model search are genuinely required. 1.7.1 does not create a viable middle path — it makes an unsupported package declare compatibility with an unsupported framework.

Migration path. Treat as a swap, not an upgrade:

  1. Inventory every use of the trait, facade, and provider.
  2. Introduce Scout behind an internal SearchService interface so controllers never touch the engine.
  3. Port models to Searchable with an explicit toSearchableArray() rather than relying on toArray(), which is where schema drift originates.
  4. Version the index: write to catalog_v2, full reindex from a queue worker, shadow-read against production traffic, compare result sets, then flip the alias and drop catalog_v1.
  5. Decommission: remove provider, facade alias, Composer entry, and any hard-coded credentials.

Compatibility. If anyone proposes taking 1.7.1, require a pinned-version spike proving the whole chain (Laravel version, PHP 8.x, Algolia client v1) resolves and runs — it will not, on PHP 8.x. Note that adopting 1.7.1 also means pinning an SDK major that the current Algolia client does not share, so Scout and this package cannot coexist on the same client version; the migration must be a cutover, not a parallel run at the dependency level.

Sequencing. Unchanged: spike (1–2 days, one model, prove index/query parity) as a hard gate → interface + adapter → per-model port → dual-write and shadow-read → cutover → removal. One to two sprint-weeks for a mid-sized app with 5–15 searchable models.

Operational Impact

Maintenance. Decisive, and the release slightly worsens the picture rather than improving it. A single-line compatibility bump to a 2018-EOL framework tells us the package receives attention only under external pressure and only in the smallest increment that unblocks someone. There is still no owner, no roadmap, no PHP-version policy. If a PHP minor breaks it or a CVE lands in the pinned SDK, the options remain fork-and-patch (MIT permits it, but the fork becomes a permanent owned artifact with an owner, CI, and release process) or emergency rewrite under incident pressure.

Support. None from the maintainer; Algolia support will not cover a v1 client; Scout issues will be closed as out-of-scope. Internal escalation means reverse-engineering 2017-era code. A one-line changelog also tells us the maintainer's response surface is effectively zero.

Scaling. The engine scales; the integration is the constraint. This generation indexes synchronously in the request path, so write latency and Algolia rate limits become ours. Scout's queued indexing and batched chunk() reindexing is the correct shape above a few thousand records; plan queue capacity and a reindex runbook (throttle, idempotency, resume-from-ID) before cutover.

Failure modes to instrument explicitly:

  • Silent index drift — model saved, index not updated. Queued jobs, failed-job alerting, nightly reconciliation count.
  • Stale-after-delete — records linger. Scout handles soft deletes; verify.
  • Search-path timeout — treat Algolia as a degraded dependency: timeout, circuit breaker, fallback to database search, never a hard 500 on page load.
  • Credential exposure — search-only key in the frontend, admin key server-side only; audit any keys the legacy package may have normalized.
  • Schema mismatch — index settings live in the dashboard unless codified; move to versioned config so environments cannot diverge.
  • Dependency surprise (revised) — an archived package that can still publish releases must be pinned exactly and excluded from automatic minor/patch updates, or a future tag lands in a build without review. Another reason to remove it rather than manage around it.

Ramp-up. Low for the replacement — Scout is the default Laravel answer and any Laravel engineer is productive in a day. The real one-time cost is the reindex and parity validation, which is unavoidable on either path. Spending that effort on a dead API instead of a documented one buys nothing that 1.7.1 provides.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels