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

Doctrine Solr Bundle Laravel Package

mdiyakov/doctrine-solr-bundle

Symfony bundle that integrates Apache Solr with Doctrine ORM entities, letting you index and search your database records through Solr. Provides entity mapping, automatic indexing, and query building for fast full-text search in Symfony applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Search feature scoping: Informs whether to pursue Solr-backed full-text/faceted search over Doctrine entities versus database search, a maintained search bundle, or a managed service. The v1.1.1 release (rollback wrapper for failed $em->flush, Solr data-cleanup command, multi-entity-manager support via Doctrine Registry, manager unit tests) confirms the package is still a legacy Symfony 2/3-era integration, not a modern search platform.
  • Build vs. buy/borrow: Still a low-adoption OSS accelerator, not a strategic dependency. The package remains effectively a fork-and-own commitment; the new release improves quality-of-life for an existing owner but does not change the maintenance, security, or hiring exposure.
  • Data-consistency risk decisions: The new flush-rollback wrapper is the most PM-relevant change — it acknowledges the classic dual-write problem (DB commit succeeds/fails independently of Solr indexing, including failures caused by other EntityListeners). Useful input when deciding whether search consistency is a product requirement (e.g., "deleted record must never appear in results") or a nice-to-have. Note it mitigates, but does not solve, dual-write: there is still no reconciliation/reindex pipeline.
  • Operational readiness and TCO: The Solr cleanup console command and multi-entity-manager support (Doctrine Registry) reduce manual ops toil and integration rework in multi-EM legacy apps. These are real cost reductions for an existing legacy deployment, and should be counted in any fork/ownership estimate.
  • Roadmap and modernization: Continues to serve best as a time-boxed proof of concept or migration reference for Symfony 2/3 + Solr systems. It should not sit on the critical path for a new search roadmap.
  • Use-case fit: Relevant for internal/admin search, catalog or content search, entity indexing, and basic relevance/filtering in legacy PHP systems with multiple Doctrine managers. Poor fit for customer-facing, high-scale, or security-sensitive search without a maintained fork.
  • Evidence for "do not adopt" decisions: Low adoption signals plus a legacy compatibility envelope remain sufficient to reject it for new products; add unit-test coverage as a small positive quality signal, not as evidence of active stewardship (still a single patch release with no visible maintainer bench).

When to Consider This Package

  • Consider it only when the product is already on Symfony 2/3, uses Doctrine entities, and already operates Solr.
  • The search need is internal, low-risk, and short-lived, with a team able to fork, patch, and own PHP/Symfony legacy code.
  • You need a reference implementation for entity-to-Solr document mapping, indexing hooks, query patterns, and now flush-failure rollback semantics — not a production dependency for new work.
  • You operate multiple Doctrine entity managers in a legacy app; v1.1.1's Doctrine Registry support lowers integration effort versus the older single-manager assumption.
  • You need basic index hygiene tooling (full Solr data cleanup) for test/staging resets or recovery runbooks; the new console command helps, but it is destructive and needs access controls and a change-management step.
  • A time-boxed spike can validate relevance, indexing latency, consistency behavior under failed flushes, and operational fit before committing to a maintained search platform.
  • Look elsewhere if the product is on Symfony 4/5/6/7 or PHP 8+, needs active security maintenance, or targets customer-facing search.
  • Look elsewhere for high-scale search, managed search requirements, modern Solr/OpenSearch/Elasticsearch clients, guaranteed index/DB reconciliation, or when no in-house maintainer is available.
  • Avoid it entirely for new products, regulated workloads, or any search capability expected to live beyond the legacy application's retirement.

How to Pitch It (Stakeholders)

  • Executive summary: This is a legacy Symfony 2/3-to-Solr integration with very low adoption. The latest patch adds useful plumbing — rollback of Solr changes when a Doctrine flush fails, a Solr cleanup command, multi-entity-manager support, and manager unit tests — but it does not make the package a strategic dependency or lower its abandonment risk. Recommendation unchanged: do not adopt for new products; for legacy systems, use it as a time-boxed reference or accept it only with explicit fork/maintenance ownership.
  • Engineering summary: v1.1.1 is an incremental quality release: an EntityManager wrapper that reverts Solr writes when another EntityListener makes $em->flush throw, a console command to wipe Solr data, Doctrine Registry support for multiple entity managers, and unit tests around managers. These reduce operational friction and one class of consistency bugs, but the underlying constraints (2018-era release lineage, minimal stars/dependents, no security or upgrade guarantees, no reconciliation/reindex pipeline) are unchanged. Use it to study integration and failure-handling patterns; couple production search to it only if the team is prepared to fork, patch, and own it.
  • Decision framing: Choose between a maintained search client/bundle, a managed search service, or a thin in-house Solr integration. Gate any legacy use on Symfony/PHP/Solr compatibility, security review, fork cost, destructive-command safeguards for the new cleanup utility, and a clear retirement plan.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console