cmsig/seal-meilisearch-adapter
cmsig/seal, a search abstraction layer for PHP/Laravel, enabling a decoupled search backend for Meilisearch. This aligns well with Laravel’s modular architecture, allowing teams to swap search providers (e.g., Algolia, Elasticsearch) without refactoring core logic.cmsig/seal), ensuring type safety and consistency in document indexing. This reduces runtime errors and improves maintainability.Engine class abstracts Meilisearch-specific logic, allowing seamless integration into Laravel’s service container.meilisearch://user:pass@host:port), which integrates cleanly with Laravel’s .env and configuration management.cmsig/search repo for updates.cmsig/seal project actively maintained? (Check GitHub activity.)// app/Providers/AppServiceProvider.php
public function register()
{
$this->app->bind(MeilisearchAdapter::class, function ($app) {
$client = new Client(config('meilisearch.dsn'));
return new MeilisearchAdapter($client);
});
}
Engine to use cmsig/seal for cross-provider support.search() and update() methods to delegate to the Engine class.MeilisearchAdapter::index($document)->onQueue('meilisearch');
Engine abstraction.cmsig/seal).meilisearch/meilisearch-php client is up-to-date.config/meilisearch.php.cmsig/seal and cmsig/seal-meilisearch-adapter.$document = [
'id' => $product->id,
'title' => $product->name,
'attributes' => $product->getSearchableAttributes(),
];
saved, deleted).Engine-based searches:
$results = $engine->search('query', ['index' => 'products']);
cmsig/seal and meilisearch/meilisearch-php for breaking changes.Log facade)./health, /stats).spatie/flysystem-circuit-breaker) for Meilisearch failures.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Meilisearch instance down | Search unavailable | Fallback to database search + alerting. |
| Schema mismatch | Indexing errors | Pre-flight validation of documents. |
| High latency | Poor UX | Implement client-side caching (e.g., Vuex). |
| API rate limits (cloud) | Throttled requests | Queue requests and retry with exponential backoff. |
| Data desync (DB ↔ Meilisearch) |
How can I help you explore Laravel packages today?