aternovtsii/search-bundle
Laravel search bundle that adds a reusable, configurable search layer for your app. Provides easy integration for searching across multiple models/resources with a simple API, sensible defaults, and room to extend matching, filtering, and result formatting.
LIKE queries with sub-second Elasticsearch responses.defaultLocale config).max_result_window in v0.1.6) and avoiding over-provisioning.LIKE '%term%') are slow (>500ms) or scale poorly (e.g., 10K+ records).User with Address and Order data) without manual joins.WHERE name LIKE ?), and SQL performance is acceptable."This package lets us ship search features 3x faster by leveraging Elasticsearch’s speed without hiring specialized engineers. For example, we can replace slow SQL searches in [Product X] with sub-second results, improving user retention by [Y]%. It’s cost-effective (MIT license, no vendor lock-in) and aligns with our Laravel 10+ stack. The bundle handles complex use cases like multi-language support and real-time updates automatically, reducing dev overhead by [Z] hours per feature. Risks are low—it’s battle-tested with Symfony 8, and we can isolate it if needed."
Key Outcomes:
*"The aternovtsii/search-bundle is a Symfony 8-compatible wrapper for Elasticsearch/Opensearch that integrates seamlessly with Doctrine in Laravel. Here’s why it’s a strong fit:
- Zero Reinvention: Handles indexing, querying, and sorting for Doctrine entities out-of-the-box (e.g., nested/relational data).
- Symfony 8 Alignment: Works natively with Laravel 10+ (low risk of conflicts).
- Key Features:
- Auto-reindexing via Doctrine events (v0.1.3).
- Multi-date and translatable field support (v1.2.1, v0.1.5).
- OpenSearch/Elasticsearch flexibility (v0.1.4).
- Optimized for large datasets (e.g.,
max_result_windowin v0.1.6).- Integration Effort: ~1–2 days for a POC, with minimal dependency conflicts if we pin Symfony versions.
- Alternatives: Algolia (costly), custom Elasticsearch client (high dev effort), or SQL-only (poor performance).
Recommendation: Pilot in [Project Y] to validate performance gains vs. current search. If successful, adopt for all new search features."*
Technical Risks Mitigated:
composer.json.SYMFONY_DEPRECATIONS_HELPER).How can I help you explore Laravel packages today?