Weave Code
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

Multi Search Bundle Laravel Package

petkopara/multi-search-bundle

Symfony bundle that adds a Multi Search service and form type for Doctrine. Build a QueryBuilder to search across all or selected entity columns using a single term, with optional wildcard matching, and reuse it in your controllers or forms.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Search Functionality for Legacy Systems: Accelerates development of search features in Symfony-based applications where full-text search (e.g., Elasticsearch) is overkill or unnecessary. Ideal for internal tools, admin panels, or small-scale public-facing apps.
  • Rapid Prototyping: Enables quick implementation of multi-criteria search without building custom query logic, reducing dev time for MVP features.
  • Form-Driven UX: Supports seamless integration with Symfony Forms, aligning with user expectations for search-as-you-type or filterable interfaces (e.g., dashboards, inventory systems).
  • Cost-Effective Alternative: Avoids licensing fees for dedicated search solutions (e.g., Algolia) when basic SQL-based search suffices.
  • Roadmap for Scalability: Can serve as a temporary solution while evaluating long-term needs (e.g., migrating to Elasticsearch later).
  • Build vs. Buy: Justifies "buy" for teams lacking DBA resources to optimize complex SQL queries, trading off performance for simplicity.

When to Consider This Package

  • Avoid if:
    • Performance-Critical: Wildcard searches (%term%) are inefficient for large datasets (millions of records). Use Elasticsearch or PostgreSQL full-text search instead.
    • Advanced Query Needs: Requires joins, aggregations, or custom DQL—this bundle is limited to simple LIKE operations.
    • Modern Symfony: Last updated in 2016; may lack compatibility with Symfony 6/7 features (e.g., dependency injection changes).
    • Security Risks: Wildcard searches are vulnerable to SQL injection if not sanitized (though Symfony Forms mitigate this).
    • Active Maintenance: No recent updates or community support (0 dependents, low stars).
  • Consider Alternatives:
    • Doctrine Extensions (e.g., Beberlei/DoctrineExtensions) for more flexible search syntax.
    • Custom QueryBuilder Logic if needing fine-grained control over search behavior.
    • API-Driven Search (e.g., Algolia, Meilisearch) for scalable, production-grade search.

How to Pitch It (Stakeholders)

Executives: "This bundle lets us add search functionality to [Product] in weeks, not months, by leveraging existing Symfony infrastructure. It’s a low-risk, low-cost way to improve user discoverability—ideal for internal tools or small-scale public features. We can validate demand before investing in a dedicated search solution. Think of it as a ‘search placeholder’ that grows with our needs."

Engineering: *"The bundle provides two integration paths:

  1. Service-Based: Inject the petkopara_multi_search.builder into controllers to dynamically filter Doctrine queries (e.g., searchEntity($qb, 'AppBundle:Post', $term)).
  2. Form-Based: Embed MultiSearchType in Symfony Forms for declarative search fields with options like search_fields (e.g., ['title', 'description']) and search_comparison_type (e.g., 'wildcard' or 'starts_with').

Pros:

  • 5-minute setup: Composer install + kernel registration.
  • Flexible: Works with any Doctrine entity.
  • Maintainable: Centralized search logic reduces tech debt.

Cons:

  • Performance: Not suited for high-traffic or large datasets (benchmark with <100K records first).
  • Legacy: Last updated in 2016—test thoroughly in your Symfony version.

Recommendation: Pilot this for [specific feature, e.g., ‘admin user search’] and measure query performance. If it meets needs, great; if not, we can sunset it in favor of a more scalable solution."*

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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui