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

Solr Bundle Laravel Package

integrated/solr-bundle

A Symfony bundle for integrating Apache Solr into PHP applications. It provides configuration and services for indexing content and running fast, scalable full-text search queries, helping teams add Solr-powered search with less boilerplate and tighter framework integration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — mismatched to the stated target stack. Although this is being evaluated as a "Laravel/PHP package," the artifact is a Symfony bundle (integrated/solr-bundle). Bundles are a Symfony packaging convention: they assume symfony/framework-bundle, a DependencyInjection extension with a config tree, YAML/XML service definitions, and console-command registration. Laravel consumes none of that. There is no service provider, facade, or Eloquent integration in the artifact. A TPM should treat "Laravel compatibility" as an open, unproven question with a strong prior of "no," not as a documentation gap.

What the package actually delivers. Scope is narrower than the name suggests: declarative index/field configuration and document/entity indexing (batch, update, delete), wrapped around a low-level Solr client. It does not deliver a query builder, relevance tooling, search analytics, A/B ranking, an admin UI, or schema-migration tooling — despite the description mentioning a fluent query builder, which should be verified in code, not assumed. For a TPM, this matters because the integration is the cheap part of search; the product surface and operations are the expensive part. Adopting this package saves you the cheap part.

Technical risk — high, and dominated by non-code factors.

Signal Value TPM interpretation
Stars 0 No external validation; no crowd-tested edge cases
Dependents 0 No evidence of production use anywhere
Score 0.1 Effectively unranked; do not weight as a quality signal
License MIT Permissive, but no support obligation attached
Single-vendor origin Yes Bus factor of one; likely internal extraction

The dominant risks are abandonment (an unmaintained dependency in the search path becomes a PHP/framework-upgrade blocker), version drift (bundle-era code implies Symfony 2/3/4 assumptions; PHP 8.2+ compatibility unverified), and knowledge concentration (your team would be the only operators of this code in the world). Conventional supply-chain risk is low by obscurity; maintenance risk is severe.

Key questions to close before any commitment:

  • Does it declare symfony/framework-bundle as a hard requirement, or can the core services be instantiated standalone? This single answer decides whether the package is even evaluable.
  • Which Solr client library is the transitive dependency, and is that maintained? (Solarium is the likely answer — verify the pinned major.)
  • Which Solr versions are targeted (schema assumptions, Solr 8 vs 9 API differences)?
  • Does it generate/manage Solr schema, or only push documents into an existing core?
  • What is the last commit date and the supported PHP/Symfony matrix?
  • Is indexing driven by Doctrine lifecycle hooks (non-portable to Eloquent) or explicit service calls (portable)?

Integration Approach

Stack fit — do not adopt directly into Laravel. The lower-risk path is solarium/solarium (maintained PHP Solr client) behind your own thin repository/service layer, or Laravel Scout with a Solr driver if you want Eloquent-searchable ergonomics. Both avoid inheriting a Symfony container's assumptions and an unmaintained wrapper. This package's durable value to a TPM is as a reference implementation — its configuration shape and indexing orchestration are worth reading and borrowing, not depending on.

Recommended decision framework. Run three options in parallel for roughly one engineer-week each, then gate:

Option Cost to enter Cost to own Strategic value
Adopt/fork this bundle Medium (port) High (vendor forever) Low
Solarium + thin internal layer Medium Medium (you own ~300 LOC) High — reusable
Scout + Meilisearch/Typesense/Algolia Low Low–Medium (vendor fees) Medium–High

Migration path if a stakeholder insists on proceeding:

  1. Spike (2–3 days). Attempt to instantiate the indexing services with no Symfony kernel. Kill criterion: if it cannot run without Symfony's container, close the decision and go direct.
  2. Fork into a private repo; strip bundle/DI scaffolding; retain only config parsing and Solr client calls.
  3. Wrap in a Laravel ServiceProvider + config/solr.php + Artisan commands (solr:index, solr:reindex, solr:health).
  4. Bind indexing to Eloquent via observers or explicit domain events — never via inherited ORM hooks.
  5. Replace transport with Laravel's HTTP client so retries, timeouts, logging, and metrics flow through existing observability.

Compatibility gate before step 2: composer.json PHP constraint, transitive Solr client major version, PSR-3/PSR-18 compliance, and the symfony/framework-bundle hard-requirement check above.

Sequencing. Engine choice precedes package choice. Do not let a package evaluation drive a Solr commitment. Confirm first that search is a funded roadmap item, then that Solr is the chosen engine (vs. managed SaaS vs. database full-text), then evaluate integration options. Reversing this order is the most common way teams end up operating infrastructure they never decided to own.

Operational Impact

Maintenance — you inherit it permanently. Zero stars, zero dependents, and single-vendor origin mean no upstream to merge from, no issue tracker with answers, and no CVE response. Forking converts an integration cost into a recurring tax: security patching, PHP-version upgrades, and Solr-version compatibility become standing backlog items. Budget this explicitly; teams routinely under-estimate it by an order of magnitude.

Support — none exists. No community, no identified commercial backing, no maintainer SLA. Internal runbooks become the only support surface. If search is revenue-affecting (catalog, marketplace, site search), that is a risk to accept in writing, not by default.

Scaling. Throughput is bounded by Solr itself, but the wrapper materially affects the write path: check whether it exposes commit/soft-commit control (default commit behavior is a classic performance trap) and whether batching is configurable. Query scaling (cores, replication, sharding) is Solr's problem and independent of this package. Reindex time is the wrapper's problem and must be pause/resume-able and rate-limited or it will saturate the Solr node or the primary database.

Failure modes to design against — these are the ones that generate incidents:

  • Dual-write drift — DB commit succeeds, indexing fails silently, index diverges from truth. Mitigate with a transactional outbox or queue plus a reconciliation job; never index in-request.
  • Solr outage causing application outage — if indexing is synchronous, Solr downtime becomes site downtime. Force async.
  • Schema drift — if the package owns schema, any change requires a coordinated reindex; no migration tooling is implied.
  • Reindex downtime — full reindex duration is unbounded; require alias-swap or dual-core strategy before go-live.
  • Silent transport failure — unmaintained code frequently swallows exceptions. Instrument index lag and indexing failure rate as first-class metrics from day one.
  • Framework upgrade lock-in — the most expensive failure mode: an unsupported dependency pins your Laravel/PHP upgrade path.

Ramp-up — asymmetric. Engineers need Solr fundamentals (schema design, analyzers, commits, replication) regardless of package choice; that cost is unavoidable and should be planned as a team capability, not a package cost. The package-specific ramp-up is disproportionate: with no docs, no community, and no upstream, onboarding a second engineer means reverse-engineering the fork. Plan for a written internal design note and runbook as a deliverable of the integration effort, not an afterthought.

TPM bottom line. Leverage this package as a reference implementation and a spike accelerant, not a dependency. Fund a short, time-boxed spike with an explicit kill criterion, run it against Solarium-direct and Scout-based alternatives, and make the build/buy/do-nothing recommendation on operating cost — because the package is free, but search is not.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin