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
Ezplatform Search

Ezplatform Search Laravel Package

ezsystems/ezplatform-search

Elasticsearch search integration for eZ Platform (eZ Publish) via the eZ Platform Search component. Provides indexing and query support to power site search, content discovery, and filtering in eZ Platform projects using an Elasticsearch backend.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Ezplatform Search
Can I use ezsystems/ezplatform-search in a Laravel project, or is it only for eZ Platform?
While originally designed for eZ Platform, this package works with Laravel (PHP 8.0+) by abstracting Elasticsearch interactions. You’ll need to adapt it via custom repositories or query translators, but the reusable generator workflow can automate index mapping from Eloquent models, reducing manual setup.
How does the generator workflow simplify Elasticsearch integration in Laravel?
The generator workflow (IBX-5569) automates Elasticsearch index mapping creation by analyzing your Laravel models. It reduces boilerplate by generating field definitions, nested objects, and relationships, though complex cases may still require manual overrides for full control.
What Elasticsearch versions does this package support in Laravel environments?
The package supports Elasticsearch 7.x and 8.x. For Laravel, pair it with the official `elasticsearch/elasticsearch` PHP client (v8+). Always verify compatibility with your Elasticsearch cluster version before integration.
Will this package work with Laravel Scout for Elasticsearch?
No, this package is not a Scout driver. Scout (with Elasticsearch) is simpler for basic search needs, but `ezsystems/ezplatform-search` offers advanced features like faceting, complex filtering, and nested object support—ideal for content-heavy or enterprise Laravel apps.
How do I handle real-time sync between Laravel models and Elasticsearch?
Use Laravel observers, model events, or queues to trigger Elasticsearch updates when models change. The package itself doesn’t enforce real-time sync, but the generator workflow can help define consistent index structures to streamline updates.
Are there performance concerns with indexing large Laravel datasets?
Yes, bulk indexing can be CPU/memory-intensive. Mitigate this by using queues (e.g., Laravel Horizon) for async updates or batch processing. The generator workflow optimizes initial schema setup, but real-time sync may still require careful tuning.
Can I use this package without eZ Platform’s abstractions in Laravel?
Yes, but you’ll need to bypass eZ-specific components. The core Elasticsearch integration is framework-agnostic, so you can register the package’s services in Laravel’s container and use the generator workflow to create mappings tailored to your Eloquent models.
How do I configure faceted search or nested object queries in Laravel?
Faceted search and nested queries rely on Elasticsearch’s DSL. The package provides abstractions, but you’ll need to define these in your queries or use the generator to create complex mappings. For Eloquent, extend auto-generated mappings manually for advanced use cases.
What’s the best way to test this package in a Laravel CI pipeline?
Mock Elasticsearch responses using libraries like `elasticsearch/elasticsearch`’s test client or tools like Testcontainers for Dockerized Elasticsearch. Test index generation with sample models, query translations, and edge cases (e.g., nested relationships).
How does this package handle schema updates when Laravel models change?
The generator workflow can regenerate mappings during deployments, but you’ll need to manage drift manually for fields added post-integration. Use Laravel migrations to update Elasticsearch schemas incrementally, or implement a reconciliation tool for critical fields.
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky