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

Search Bundle Laravel Package

meilisearch/search-bundle

A Symfony bundle that integrates Meilisearch into your application, delivering fast, typo-tolerant search and autocomplete with simple configuration, automatic indexing, and customizable searchable entities.

View on GitHub
Deep Wiki
Context7

Meilisearch Search Bundle integrates the fast, open-source Meilisearch engine into Symfony applications. Declare indexes with PHP attributes or configuration, and let the bundle handle indexation automatically through Doctrine lifecycle events, keeping your search index in sync as entities are created, updated, or removed.

Query with a clean, typed API supporting filtering, faceting, sorting, pagination, and geo search, plus ready-made commands and profiler integration for debugging.

  • Automatic Doctrine entity indexation with configurable sync
  • Index settings, ranking rules, and synonyms managed in code
  • Rich search: filters, facets, sorting, highlighting, geo search
  • Multi-search and autocomplete support
  • Console commands (search:import) and Symfony profiler panel
Frequently asked questions about Search Bundle
Does meilisearch/search-bundle work with Laravel?
No. Despite being catalogued among Laravel and PHP packages, meilisearch/search-bundle is a Symfony bundle that ships a Bundle subclass, a DI extension, autowired services and Symfony console commands, none of which Laravel's service container can register or load. For Laravel, use Laravel Scout with the official Meilisearch driver plus meilisearch/meilisearch-php instead, which gives you the same engine and server through an idiomatic integration. The bundle itself will not just work in a Laravel application.
How do I install and configure meilisearch/search-bundle in a Symfony project?
Install it with Composer and register the bundle in config/bundles.php as you would any Symfony bundle. You then point it at your Meilisearch host and API key through bundle configuration, and the DI extension wires up services such as Meilisearch, Aggregator and SearchableRepository for autowiring. Index settings can be declared as code with PHP attributes on your searchable classes, and console commands like meilisearch:create-index, meilisearch:update-settings and meilisearch:import handle setup, settings reconciliation and backfilling.
Which Symfony and PHP versions does this Meilisearch bundle support?
The bundle targets Symfony 6.4 and 7.x, which is where it fits with minimal glue code and is the intended use case. Because its release cadence tracks both meilisearch-php and Symfony majors, check the composer.json constraints for the exact tags before upgrading either side. Pin your Symfony minor and bundle version together so a routine framework bump does not silently drop support.
How do I index Doctrine entities with Meilisearch using this bundle?
You mark an entity as searchable and the bundle maps it into a Meilisearch index, with the SearchableRepository and Aggregator services handling document construction and pushing. Initial population typically runs through the meilisearch:import console command rather than inside a web request. Most of the real work is not library plumbing but deciding index settings, defining which fields are indexed, and planning the backfill for existing data.
How do I configure searchable, filterable and sortable attributes in Meilisearch?
The bundle lets you declare index settings as code, usually via PHP attributes tied to the searchable class, and then reconciles those settings with the Meilisearch server. Filterable and sortable attributes must be declared explicitly or filters and sorts fail at query time with a 400. The meilisearch:update-settings command pushes setting changes, and treating settings as versioned code is what keeps environments consistent.
How do I keep the Meilisearch index in sync when Doctrine entities change?
You need explicit reindex triggers: Doctrine lifecycle listeners, domain events, or a queue job that pushes updates after persistence. The bundle gives you indexing primitives, not automatic sync guarantees, so deletions and bulk updates deserve particular attention. For large or schema-changing updates, plan a blue/green index swap, because neither this bundle nor Scout gives zero-downtime reindexing for free.
What is the Laravel equivalent of this Symfony bundle?
Laravel Scout with the official Meilisearch driver, built on meilisearch/meilisearch-php, is the idiomatic path and covers the same engine, server and query features. An evaluation spike on either side transfers well because roughly 80 percent of the work, including index settings, backfill and relevance tuning, is identical. Do not try to bridge the Symfony bundle into Laravel just to reuse its API.
How do I avoid version skew between the bundle, meilisearch-php and the Meilisearch server?
Pin all three: the Symfony minor, the bundle version, and the meilisearch-php version, plus the Meilisearch server image tag or Cloud version. Skew between client and server produces confusing 400 errors on settings and search parameters that look like application bugs. Add the server version to your CI or staging checks so an infrastructure bump is a deliberate, tested change.
How can I test Meilisearch integration without a real server?
Run a disposable Meilisearch instance in CI, as a container or test-scoped server, and exercise index creation, import and settings reconciliation against it, because mock clients will not catch settings or filter-parameter mistakes. Keep integration tests focused on query behavior such as filters, facets, sort and typo tolerance. Unit-test your own document mapping and reindex triggers separately so failures are easy to localize.
Is meilisearch/search-bundle actively maintained, and what are the alternatives?
It is maintained under the Meilisearch organisation, MIT licensed and recently released, so vendor abandonment risk is low and you keep a fork escape hatch. The 154 stars and reported zero dependents look like incomplete ecosystem data rather than evidence nobody uses it, but expect a thinner public corpus of issue threads than larger packages. Alternatives are using meilisearch/meilisearch-php directly in framework-agnostic PHP workers, Laravel Scout for Laravel, or a different engine such as Algolia or Elasticsearch if you need features Meilisearch lacks.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource