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

Fos Elastica Bundle Laravel Package

runroom/fos-elastica-bundle

A maintained fork of FOSElasticaBundle that integrates Elasticsearch into Symfony apps via the Elastica PHP client. Define indexes and mappings, auto-index Doctrine entities through listeners, and query results with a repository-style finder supporting pagination and aggregations.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for search. This package is the "buy" (well, "borrow") option for adding Elasticsearch to a Symfony application: declarative index mapping in YAML/XML/PHP/attributes, a fos:elastica:populate bulk-indexing command, Doctrine ORM/ODM listeners that keep indexes in sync on entity changes, finder/repository abstractions, and Pagerfanta-backed pagination. The decision it informs is whether your team writes that plumbing (typically 2–4 engineer-weeks plus ongoing tuning) or inherits it.
  • Roadmap gating for search-dependent features. If catalog search, faceted filtering, autocomplete, or "related content" are on the roadmap, this is a candidate enabler — and its archived status becomes a roadmap risk item, not just a technical detail.
  • Migration and upgrade-path decisions. For teams already running an older FOSElasticaBundle and blocked on PHP 8.x / modern Symfony support, a maintained fork is a stopgap decision: fork-and-own internally, adopt this fork, or migrate to the official elasticsearch-php client / a managed search service. This package only makes sense as the middle option, and only with an exit date.
  • Dependency governance and vendor-risk policy. Archived + 0 stars + 0 dependents is a textbook "unowned dependency." It's the kind of item that should trigger an explicit accept/mitigate/reject decision recorded in your architecture log rather than drifting in via a composer require.
  • Use cases it maps to: product/content search over Doctrine entities in a Symfony monolith, relevance tuning via Elastica's query DSL, and search features where you need index sync without building event listeners.

Caveat to verify before deciding: the metadata is internally inconsistent — archived, yet a release dated 2025-08-06, with 0 stars and 0 dependents. That pattern usually means a mirror/private fork or incomplete registry data, not a genuinely unused library (the upstream FOSElasticaBundle was widely adopted for years). Treat the score (0) and opportunity (15.83) as low-confidence until someone confirms the live repo state, commit cadence, and open-issue responsiveness.

When to Consider This Package

Consider it when:

  • You are on Symfony (this is a bundle, not a Laravel package — it will not drop into a Laravel app without meaningful glue).
  • You already have a Doctrine-mapped domain and want entity→index synchronization without writing your own subscribers.
  • You are mid-migration off an older FOSElasticaBundle and need a short, bounded bridge.
  • You can vendor or fork it internally and have named an owner with budget for maintenance.
  • Your Elasticsearch/Elastica version pairing is already validated against the pinned constraints.

Look elsewhere when:

  • It's a greenfield project. Starting a new build on an archived dependency is hard to justify when elasticsearch-php (official), ongr/elasticsearch-bundle, or a hosted search product are actively maintained.
  • You're building on Laravel — use Laravel Scout with an Elasticsearch/Meilisearch/Typesense driver, or the official client directly.
  • You need security patching SLAs, ES 8+/OpenSearch support guarantees, or vendor support.
  • Your search needs are modest — Postgres full-text, Meilisearch, or Typesense will get you further with less operational surface.
  • Nobody will own it. An unowned search index is an unowned production incident.

How to Pitch It (Stakeholders)

To executives: This is not a purchase — it's a maintenance liability with a head start attached. It provides proven, pre-built Elasticsearch plumbing for Symfony (index configuration, bulk population, automatic sync with our database), which could compress a search feature by several weeks. The trade-off is explicit: the package is archived, with no visible community (0 stars, 0 dependents), meaning no upstream fixes, no security patches, and no support — we would own it. My recommendation is to approve it only as a time-boxed bridge with a named owner and a documented exit plan, not as a permanent foundation. The alternative is paying that same cost up front to build on the officially maintained client.

To engineering: You get declarative index mapping, fos:elastica:populate, Doctrine listeners for automatic reindexing, finders, and pagination out of the box — roughly 2–4 weeks of plumbing you don't write. In exchange: pin your dependencies hard, treat upgrades to PHP/Symfony/Elasticsearch as our work, and don't let it become load-bearing without an owner and a migration ticket.

The ask: A one-to-two sprint spike — validate against our target Elasticsearch version, confirm the repo's real state (the metadata looks like a mirror artifact), and return a build-vs-borrow recommendation with a costed exit path.

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.
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator