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

Postgres Search Bundle Laravel Package

gkovrey/postgres-search-bundle

gkovrey/postgres-search-bundle integrates PostgreSQL full-text search into Symfony/PHP applications, offering database-native indexing and query support for fast, relevant search results without an external search engine. Configurable, lightweight, and easy to wire into existing projects.

View on GitHub
Deep Wiki
Context7

Symfony2 bundle with tools to use full-text search PostgreSQL in Doctrine 2.

Frequently asked questions about Postgres Search Bundle
Can I install gkovrey/postgres-search-bundle in a Laravel application?
No. It is a Symfony2 bundle, not a Laravel package, so it has no Laravel service provider, no package auto-discovery, and no Laravel config merge. Composer resolution will also fail on modern Laravel projects because the bundle pins Symfony 2.x and an old Doctrine ORM. Treat it as reference material, not a dependency.
Does this package work with Laravel 10 or Laravel 11?
No. Laravel 10 and 11 require modern Symfony components and PHP 8.1 or 8.2+, while this bundle targets Symfony 2.x, Doctrine ORM around 2.2–2.4, and a PHP 5.x/7.0-era platform. Composer will hit hard conflicts on symfony/*, doctrine/orm, and PHP constraints. Using --ignore-platform-reqs does not fix the runtime incompatibilities.
What exactly does postgres-search-bundle provide for PostgreSQL full-text search?
It provides Doctrine 2 DQL custom functions that wrap PostgreSQL full-text search primitives such as to_tsvector, plainto_tsquery, and ts_rank, plus schema and listener hooks for index maintenance inside Symfony2. The useful pattern is a tsvector column, a GIN index, and ranking. In Laravel you reimplement that pattern with migrations, DB::statement, and Eloquent query scopes.
How do I add PostgreSQL full-text search to a Laravel Eloquent model instead?
Add a tsvector column and a GIN index through a Laravel migration using DB::statement; on PostgreSQL 12+ a generated stored column can maintain the vector automatically. Query with whereRaw("search_vector @@ plainto_tsquery('english', ?)", [$term]) and order by ts_rank or ts_rank_cd. No Symfony bundle or Doctrine DQL function is needed.
Is gkovrey/postgres-search-bundle maintained or safe for production?
No. The last release was 2016-09-06, roughly nine years ago, with 0 stars and 0 dependents, so there is no adoption signal or issue history. There is no CVE response path, no active maintainer, and its transitive dependencies are frozen at 2016 vulnerability state. There is also no clear LICENSE file, which is a legal blocker regardless of code quality.
What Composer conflicts should I expect if I try to require it?
Expect hard conflicts on symfony/* because the bundle requires Symfony 2.x while Laravel 11 requires Symfony 6/7 components. Expect conflicts on doctrine/orm because the bundle targets roughly 2.2–2.4 while current projects use 2.19+ or 3.x. PHP platform constraints will also fail because the package era implies PHP 5.x/7.0 while Laravel 11 requires PHP 8.2+.
Does it work with Doctrine ORM in Laravel, for example with Laravel Doctrine?
No, not as shipped. Laravel Doctrine integrations do not load Symfony bundles, so this package's Bundle class, DependencyInjection extension, and services.yml wiring are ignored. You could manually port its DQL functions and index helpers, but that is a rewrite rather than an installation. Eloquent is Laravel's default ORM, so the Doctrine dependency is an additional mismatch.
What are the best alternatives for full-text search in Laravel with PostgreSQL?
For database-native search, use PostgreSQL FTS directly from Eloquent with tsvector columns, GIN indexes, plainto_tsquery, ts_rank, and ts_headline. If you need an external engine, Laravel Scout with Meilisearch or Typesense is a common choice, and TNTSearch is a PHP-only option. For fuzzy or substring matching, pg_trgm or LIKE may be enough. Choose based on multilingual stemming, weighted fields, highlighted snippets, and operational budget.
How should I test PostgreSQL full-text search in a Laravel app?
Use feature tests against a real PostgreSQL test database, not SQLite, because tsvector, GIN, and plainto_tsquery are PostgreSQL-specific. Use RefreshDatabase, seed a small set of documents, and assert both which rows are returned and their ranking order. Add cases for empty queries, stop words, stemming, and ts_headline snippets if you use them.
How much work is it to replace this bundle with a Laravel-native implementation?
The core is roughly a day of engineering: a migration for the tsvector column and GIN index, a model scope or query builder method for search and ranking, and optional generated-column or trigger maintenance. Add time for multilingual dictionaries, weighted fields, ts_headline snippets, and tests. The 2016 bundle is cheaper to understand as a pattern than to install or maintain.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo