- What is openclassrooms/elasticsearch-bundle?
- It is a Symfony 2 bundle that wires the Elasticsearch PHP client into Symfony's dependency injection container with connection and index configuration. It is a thin integration layer, not an Elasticsearch client itself. The actual protocol work is handled by elasticsearch/elasticsearch.
- Does openclassrooms/elasticsearch-bundle work with Laravel?
- No. It is built for Symfony 2.x and registers services through Symfony's DI container, so it is not Laravel-compatible. Laravel applications should use elasticsearch/elasticsearch directly or a maintained Laravel Elasticsearch integration instead.
- Can I install openclassrooms/elasticsearch-bundle with Composer?
- Mechanically yes, via composer require openclassrooms/elasticsearch-bundle and registering the bundle in AppKernel for a Symfony 2 app. The real blocker is compatibility: the package targets legacy Symfony and old Elasticsearch client versions. Verify PHP constraints, Symfony major, and elasticsearch-php version before attempting installation.
- Which Symfony versions support openclassrooms/elasticsearch-bundle?
- It targets Symfony 2.x, including 2.8 which reached end of life in November 2018. It is incompatible with Symfony 5, 6, and 7. Do not treat it as a candidate for modern Symfony applications.
- Which Elasticsearch versions does this bundle support?
- It is designed for Elasticsearch 1.x, 2.x, and 5.x-era clusters through the older elasticsearch-php client. It is not compatible with Elasticsearch 7 or 8. Running it against a modern cluster risks protocol mismatches, mapping rejections, and changed response shapes.
- Is openclassrooms/elasticsearch-bundle maintained?
- There is no meaningful maintenance signal: zero stars, zero dependents, and no visible CI or test coverage. It functions like a private fork published to Packagist. Without downstream consumers, expect no issue triage, field testing, or CVE response.
- Is it safe to use in production?
- High risk. The bundle carries transitive dependencies such as old Guzzle and elasticsearch-php versions with known vulnerabilities and no upstream patching path. It also has a single-org provenance and unverified license, so confirm MIT before vendoring. Production use would require pinning, vendoring, and an internal fork strategy.
- What does this bundle provide beyond elasticsearch/elasticsearch?
- Mostly Symfony DI wiring: service definitions, connection and index configuration, and possibly console helpers. The honest answer is often nothing material beyond a short service definition. Prefer using elasticsearch-php directly behind your own application-level port.
- What are better alternatives for Laravel or modern Symfony?
- For new code, use elasticsearch/elasticsearch v7 or v8 directly, or a maintained framework integration. Put a thin SearchIndex interface in front of the client so you can swap implementations. For legacy Symfony 2, keep the same port and treat the bundle as an isolated implementation detail.
- How should I migrate away from this bundle?
- Define a SearchIndex port in domain code and move bundle-specific service IDs, annotations, and config behind an adapter. Pin exact Composer constraints and commit the lockfile while you work. Then swap to a supported client and remove the bundle in one isolated change.