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

Postgres Search Bundle Laravel Package

spine/postgres-search-bundle

PostgreSQL full-text search for Laravel: index your models, run ranked tsvector queries backed by GIN indexes, and keep results in sync automatically. A lightweight alternative to external search engines with no extra infrastructure or services to run.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: The package is a Symfony/Doctrine-oriented bundle for PostgreSQL full-text search, not a Laravel-native package. Fit is poor for a standard Laravel/Eloquent application and only moderate for a Laravel app that already uses Doctrine ORM through a bridge. Its value is primarily as a reference implementation for PostgreSQL tsvector/tsquery indexing, ranking, and Doctrine integration patterns.
  • Integration feasibility: Direct adoption in Laravel is low-feasibility. It would require wiring Symfony-style bundle services into Laravel’s container, validating Doctrine DBAL/ORM compatibility, reproducing migrations and index management, and likely forking the package. A lower-risk path is to extract the SQL/schema patterns and implement a small Laravel-native search service.
  • Technical risk: High. The package has 0 stars, 0 dependents, no recent release since 2016-09-06, and a very low package score. Expected risks include abandoned dependencies, outdated Symfony/Doctrine constraints, PHP-version incompatibility, undocumented PostgreSQL assumptions, and no Laravel service provider or configuration surface.
  • Key questions: Which ORM will the application use: Eloquent, Doctrine, or both? What PostgreSQL versions and extensions are supported? What search behavior is required: ranking, highlighting, stemming, phrase queries, multi-language, or fuzzy matching? What data volume and write rate must be supported? Can the team own a fork or reimplementation? Is the package needed at all, or would native PostgreSQL FTS plus Laravel migrations and query builders be sufficient?

Integration Approach

  • Stack fit: For Laravel + Eloquent, treat the package as design input, not a dependency. For Laravel + Doctrine, run a short compatibility spike before committing; even then, expect to isolate the bundle behind an internal search interface.
  • Migration path: Avoid installing the abandoned bundle directly into a new Laravel application. Instead, inventory its PostgreSQL patterns: generated tsvector columns, GIN/GiST indexes, trigger maintenance, tsquery normalization, and ts_rank/ts_headline usage. Recreate the minimal subset in Laravel migrations and a dedicated search service/repository.
  • Compatibility: Validate against the target PHP, Laravel, Doctrine DBAL/ORM, and PostgreSQL versions. The 2016 release date makes Symfony 2/3-era assumptions likely; Composer constraint conflicts and removed Doctrine APIs are probable. Any adoption should be fork-based with explicit version pins and integration tests.
  • Sequencing: 1) Run a time-boxed spike to confirm PostgreSQL FTS meets product requirements. 2) Model the schema and indexes in Laravel migrations. 3) Build a query service with an interface that can later swap to Meilisearch/OpenSearch if needed. 4) Add ranking, pagination, and highlighting tests. 5) Only consider forking the bundle if Doctrine-specific behavior is demonstrably valuable.

Operational Impact

  • Maintenance: High if treated as a production dependency because the package is effectively unmaintained. Low-to-moderate if only its patterns are reused, since the team owns a smaller, purpose-built implementation.
  • Support: No meaningful community support, dependents, or release cadence. Internal ownership, documentation, and tests are mandatory. A TPM should assume no upstream fixes and budget for fork maintenance if the package is adopted.
  • Scaling: PostgreSQL FTS can handle moderate search workloads well, but GIN indexes add write amplification and vacuum/maintenance overhead. Ranking and highlighting are CPU-intensive. Read replicas and query tuning may be needed; very high volume or complex relevance requirements may justify a dedicated search engine.
  • Failure modes: Composer dependency conflicts, Doctrine event/listener breakage, stale tsvector columns, missing or unused indexes, slow queries from unindexed LIKE fallbacks, migration failures, and PostgreSQL version-specific SQL behavior. Search degradation should be observable and have a fallback path.
  • Ramp-up: The team needs PostgreSQL FTS knowledge plus Laravel/Doctrine internals. A reasonable TPM framing is a short discovery spike, followed by a small production hardening effort if native PostgreSQL FTS is selected. Direct bundle adoption should be treated as a high-risk exception, not a default integration.
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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings