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

Cqrs Solr Laravel Package

lmc/cqrs-solr

LMC CQRS Solr brings Apache Solr search into Laravel using command-query responsibility segregation, with query buses, indexing and repository abstractions for fast, filtered search across large datasets.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Unchanged. The package still targets Solr-backed CQRS command/query separation and remains viable only as a thin read/write abstraction around Solr within a search bounded context. 3.0.0 modernises language usage (PHP 8.1 features, revised method signatures) but does not broaden scope — it is not a general Laravel search abstraction.
  • Integration feasibility: Marginally improved. The release confirms an active constraint of PHP 8.1 minimum, which is a concrete data point where the prior assessment had none; it aligns with Laravel 10's floor and clears Laravel 9. Laravel fit remains implicit rather than stated, so service-provider registration, config publishing, and container bindings still need verification. The BC break means the spike must target 3.x explicitly — any 2.x examples, blog posts, or README snippets found in the wild may not compile.
  • Technical risk: Still high overall, but the risk profile has shifted rather than shrunk. Positive: the package is maintained against a modern PHP baseline and the maintainer shipped a deliberate major version with documented BC scope. Negative: the major version is the April 2022 release, so the project has had no activity since — the "stale since 2022" concern now applies to the 3.0.0 line itself, including its Solr client dependency and its tolerance for PHP 8.2/8.3 and Laravel 11. A major version bump with changed method signatures on a zero-dependent package also means almost no external migration knowledge exists.
  • Key questions: Is the constraint ^8.1 or >=8.1 — i.e. will it install on PHP 8.2/8.3? What exactly changed in the 3.0.0 method signatures, and is there a changelog or upgrade guide documenting the 2.x → 3.x delta? Does the release target a specific Laravel version, or is it framework-agnostic? Has the Solr client dependency been bumped, and does it still receive security patches? Which PHP, Laravel, and Solr versions are validated in CI? Who maintains the package, and what is the security patch path now that the 3.0.0 line is the head of a dormant project? How are retries, timeouts, auth, TLS, and indexing consistency handled? Can we wrap it behind internal interfaces so the signature changes in 3.0.0 (and any future 4.x) stay contained?

Integration Approach

  • Stack fit: Best fit remains a Laravel/PHP service with an existing Solr read model and a team fluent in CQRS. The PHP 8.1 floor makes it a workable match for a Laravel 10 codebase and a non-starter for anything pinned below 8.1. Still a poor fit for greenfield apps needing simple search.
  • Migration path: Spike directly against 3.0.0 — do not prototype on 2.x and port later, since the BC break lands in the exact call paths a spike exercises. Wrap the package behind internal command/query ports before writing application code, so the 3.0.0 signature changes are absorbed at the adapter boundary. Keep a direct Solr-client fallback available; if the spike exposes gaps, fork/vendor rather than letting package types leak into the domain.
  • Compatibility: Pin to 3.0.0 and its transitive dependencies, then verify the PHP constraint's upper bound, PSR adherence, Solr client version, and Laravel container integration. Add contract tests against the real Solr schema; do not rely on README examples, which may predate the 3.0.0 signatures. Explicitly confirm whether Laravel 10/11 and PHP 8.2/8.3 install and pass tests — the release only asserts 8.1.
  • Sequencing: First inventory Solr use cases and schema contracts. Second, diff the 3.0.0 method signatures against any 2.x documentation to size the break. Third, run a dependency and security review against the 3.0.0 dependency graph. Fourth, prove the read/query path in a sandbox on the target PHP version. Fifth, add the command/write path with idempotency and retry tests. Sixth, dual-read or shadow-traffic validation. Finally, phase rollout behind feature flags with an adopt/fork/replace decision gate.

Operational Impact

  • Maintenance: Internal ownership remains the default assumption. The 3.0.0 release is the head of the project and dates to April 2022, so plan for dependency upgrades, Solr client patching, schema-change adaptation, and a likely maintained fork. Treat the modern PHP baseline as a one-time gift, not evidence of an ongoing cadence.
  • Support: No commercial support signal. Support must come from the internal platform team, with runbooks for Solr connectivity, query failures, indexing lag, and schema mismatch. Add a note that 3.0.0-specific guidance is scarce — most public material, if any exists, predates the signature changes — so runbooks must be written from the code, not from upstream docs.
  • Scaling: Unchanged; the package is thin and scaling is dominated by Solr cluster capacity, query design, indexing throughput, and CQRS consistency. Validate timeout, retry, batching, and connection-pool behaviour under load on the 3.0.0 code path — a major version touching method signatures can quietly alter call and error semantics.
  • Failure modes: Solr outage or latency, stale reads after writes, schema/field mismatches, failed commands without compensation, auth/TLS misconfiguration, and dependency incompatibility. Add: installation failure on PHP 8.2/8.3 if the constraint is tight, and runtime breakage in any code or example written against 2.x signatures. Require health checks, circuit breakers, structured logging, metrics, and dead-letter/retry handling around package calls.
  • Ramp-up: Moderate for engineers fluent in CQRS and Solr; higher for Laravel teams expecting a conventional package. 3.0.0 raises the floor slightly by adopting modern PHP idioms, but low adoption means limited examples and community knowledge, and the BC break invalidates much of what does exist. Budget for internal documentation, pairing, and a constrained first use case before broader rollout.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource