pet0r/sphinxsearch-bundle
Symfony bundle that integrates the Sphinx full-text search engine, providing configuration for indexers and a service layer for running searches from your application.
LIKE/MySQL FULLTEXT or a managed engine like Meilisearch/Typesense. It is a data point for that comparison, not a recommendation.composer require.Consider only if:
composer.lock. Then the question is "how do we get off it," not "should we add it."Look elsewhere if any of the following is true (they almost certainly are):
indexer + searchd supervision). That operational cost usually dominates the licensing savings of "free."Disqualifiers as stated: 0 stars, 0 dependents, EOL framework target, single maintainer. BSD-2-Clause is permissive, so there's no legal blocker — the blocker is maintenance, not license.
To executives (one paragraph): This is not a candidate for adoption. It targets Symfony 2, a framework version end-of-life since 2019, and it wraps a search daemon whose actively maintained successor is Manticore Search. It has zero stars and zero dependents — no one else runs it in production, so we'd be first and would own every bug. The license is permissive, so there's no legal obstacle; the obstacle is that adopting it converts a vendor problem into a permanent internal maintenance line item with no offsetting capability. Recommended action: reject from the shortlist, log as prior art, and if search is on the roadmap, run a one-week spike against Laravel Scout + Meilisearch with our real corpus and relevance expectations.
To engineering (the actual ask): Don't vendor it. Read it, then close the tab. If we need full-text search, the shortlist is Meilisearch or Typesense behind Laravel Scout; Manticore only if there's a hard constraint on SphinxQL compatibility or memory footprint on a small box. If someone maintains a legacy Symfony 2 app still depending on this, that's a migration ticket, not a feature ticket — scope it as "remove Sphinx dependency," not "upgrade the bundle." If we do build in-house, hide the client behind a SearchRepository interface so a second backend can drop in — that's the single highest-value decision and it caps the blast radius of choosing wrong.
Cost framing: integration effort is not the cost — the ongoing cost is operating indexer + searchd, owning an unmaintained wrapper, and redoing the work when we move to a maintained engine. That sunk cost is the argument for skipping straight to the maintained option.
How can I help you explore Laravel packages today?