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 Entity Search Bundle Laravel Package

stinger-soft/doctrine-entity-search-bundle

A Symfony bundle that adds full-text search to Doctrine entities: index chosen fields, then query records through a simple search service and get ranked results without writing custom DQL. Drop it into existing Symfony and Doctrine projects to make entity data searchable with minimal configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: poor for a Laravel-native stack. Despite being packaged for Composer, this is a Symfony bundle, not a Laravel package. It implements Doctrine ORM search for the related EntitySearchBundle and will follow Symfony bundle conventions (a Bundle class, DI extension, service definitions, possibly compiler passes). Laravel does not boot Symfony bundles, so none of that wiring is reusable. The only viable fit is an application that already uses Doctrine ORM (for example via laravel-doctrine/orm) and is willing to manually register the underlying services.
  • Integration feasibility: low-to-moderate, conditional on Doctrine. The Doctrine query-building classes may be usable directly if they are decoupled from the Symfony container. That needs verification. In a standard Eloquent-based Laravel app, adopting this package means introducing a second ORM, a second entity/metadata layer, and a parallel persistence model — a large architectural cost for a search feature.
  • Adoption signal is effectively zero. 0 stars, 0 dependents, and a single-vendor repository mean no community validation, no downstream bug reports, and no evidence of production use. The opportunity score of 8.32 should be treated as an unvalidated heuristic, not a quality signal. The package also depends on another Stinger-Soft package (EntitySearchBundle), compounding bus-factor and abandonment risk.
  • Technical risk: high. Likely risks include stale Composer constraints against modern PHP 8.x, Symfony 5/6/7, and Doctrine ORM 2/3 (Doctrine 3 removed several legacy APIs); no visible test suite or documentation; a single maintainer; and unknown query semantics. Search correctness and performance are unproven — a Doctrine QueryBuilder-based search is typically LIKE-driven unless it explicitly integrates a full-text engine, which scales poorly without careful indexing.
  • License risk: low. Apache-2.0 is permissive, includes a patent grant, and permits forking with attribution — useful if the decision is to own a fork.
  • Key questions to resolve before any commitment:
    • Does the package work standalone, or does it require Symfony FrameworkBundle and kernel bootstrapping?
    • What are the exact composer.json constraints for PHP, Symfony, and Doctrine?
    • What does the parent EntitySearchBundle API look like, and is it documented or maintained?
    • Does search use parameter binding (SQL-injection safe), and how are AND/OR terms and relations handled?
    • Is there pagination, result limiting, and hydration control?
    • Is there any test coverage, CI, or tagged release history?
    • Is the repository archived or dormant, and who is accountable for security patches?

Integration Approach

  • Stack fit: Only consider this if the target application already runs Doctrine ORM and has an entity-manager integration. For an Eloquent-first Laravel product, the fit is negative: the cost of adding Doctrine outweighs the value of a small, unmaintained search adapter.
  • Migration path: Do not adopt wholesale. Run a time-boxed spike in an isolated branch or sandbox app. If the Doctrine search classes prove container-independent, vendor or extract the relevant classes into the application namespace behind an internal SearchService interface. If they are container-coupled, stop and reimplement the equivalent query logic against Eloquent, or select a maintained alternative (Laravel Scout with the database or Meilisearch/Typesense driver, TNTSearch, or Elasticsearch/OpenSearch).
  • Compatibility validation: Use a clean Composer install with --prefer-lowest and current versions, then composer why-not to identify conflicts. Confirm PHP 8.1+ compatibility, Symfony version constraints, and Doctrine ORM 3 compatibility. Check for deprecated APIs (EntityManager::getRepository, annotation vs attribute metadata) and whether the bundle's DI extension can even be parsed outside Symfony.
  • Sequencing:
    1. Feasibility spike: install in a sandbox, inspect source, confirm whether services can be wired manually.
    2. Review the parent EntitySearchBundle API and documentation; confirm search semantics and query safety.
    3. Make an explicit build-vs-buy decision: adopt with a fork, extract classes, or replace with a maintained search package.
    4. If adopting, wrap behind an internal interface, add characterization tests, and pin the dependency.
    5. Integrate into a non-critical surface first; instrument query counts and latency before rollout.
  • Exit strategy: Keep the internal interface thin so the implementation can be swapped. Apache-2.0 permits a fork; budget for owning it if the upstream is dormant.

Operational Impact

  • Maintenance: Functionally self-maintained. With no upstream activity, the team owns dependency updates, PHP/Symfony/Doctrine compatibility, and security patching. A fork with attribution is the realistic long-term model; without that, Composer updates will eventually break the build.
  • Support: No vendor support, no active issue triage, and no community knowledge base. Internal ownership, a runbook, and named code owners are mandatory if adopted.
  • Scaling: Depends entirely on the generated SQL. Expect LIKE '%term%' scans unless full-text indexing is explicitly supported; this degrades sharply on large tables. Require pagination, hard result limits, query logging, and slow-query monitoring. Doctrine hydration overhead is also higher than raw SQL or Eloquent for search result lists, so measure before committing.
  • Failure modes: Composer resolution failures after PHP/Symfony upgrades; container/service wiring errors; unparameterized search terms if input handling is weak; unbounded result sets; collation and case-sensitivity mismatches across environments; annotation/metadata breakage on PHP 8; silent regressions from absent tests. On a Laravel host, an additional failure mode is dual-ORM transaction and connection-pool inconsistency between Eloquent and Doctrine.
  • Ramp-up: The codebase is likely small, so a mid-level PHP developer can read it in hours. The real friction is conceptual: Symfony bundle conventions, Doctrine metadata, and DQL are unfamiliar to Laravel-only teams. Estimate 1–2 days for a feasibility spike and 3–5 days to harden, test, and own it if the decision is to adopt — before any product integration work.
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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast