meilisearch/meilisearch-php
The official Meilisearch API client for PHP. Integrate fast, open-source search into your PHP applications with a simple SDK, customizable HTTP clients, and compatibility with Meilisearch servers.
Architecture fit
SearchService interface) as part of the adoption cost rather than assuming composer require equals "integrated."Integration feasibility
filterableAttributes needing to be declared before filtering works. Teams underestimate this because the API surface looks trivial.Technical risk
v2.0.0-beta.8, and it contains documented breaking changes from v1.x: Indexes → Index, lazy metadata loading with fetchInfo()/fetchPrimaryKey() removed, non-nullable getters, MultiSearchQuery split out of SearchQuery, and typed stats objects. Adopting a beta SDK in a production Laravel app should require explicit justification; defaulting to the stable ^1.x line and pinning the Meilisearch server version alongside it is the lower-risk position.addDocuments() returns a task UID, not a result. Documents are not searchable until the task succeeds. Any product requirement like "user saves a record, then immediately finds it in search" is a design problem, not an SDK call. This affects UX copy, test strategy, and queue design.Key questions to resolve before commitment
^1.x or beta 2.x — and what feature justifies the beta?Stack fit
searchable() conventions for free. If search requires custom ranking, federated multi-index queries, or non-Eloquent document shapes, go direct and budget the adapter.Migration path
LIKE/FULLTEXT: the substantive work is index design — document shape, searchable vs. filterable vs. sortable attributes, ranking rules, typo tolerance. Plan a backfill command and a settings-versioning convention from day one.Compatibility
composer.json and in infrastructure config; a server upgrade landing ahead of an SDK upgrade is a realistic skew scenario.Sequencing
SearchService interface, health check, custom HTTP client with aggressive timeouts.Maintenance
Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?