symfony/flex, this introduces dependency complexity.HttpKernel or a bridge (e.g., spatie/laravel-symfony-bundle) for compatibility.SearchDocumentExtractorInterface) may need adapters.spatie/laravel-searchable or commercial solutions (e.g., Algolia)?spatie/laravel-symfony-bundle to bridge Symfony components into Laravel.config/app.php and publish its configuration.@ORM\*) may need Laravel equivalents.// config/packages/demontpx_rigid_search.yaml
rigid_search:
storage: elasticsearch
elasticsearch:
host: 'elasticsearch:9200'
index: 'laravel_search'
NewsItem) and test search relevance.SearchDocumentExtractorInterface to Laravel’s service container.created/updated entity events.// app/Listeners/IndexEntity.php
public function handle(Created $event) {
$extractor = app()->make(NewsItemDocumentExtractor::class);
$document = $extractor->extractDocument($event->model);
$searchService->index($document);
}
getId() methods).container->get() with app()->make() or Laravel’s resolve().elasticsearch/elasticsearch) and cluster setup.composer require demontpx/rigid-search-bundle spatie/laravel-symfony-bundle
SearchDocumentExtractor classes for critical entities.SearchService).$results = $searchService->search('query', NewsItem::class);
| Component | Failure Scenario | Impact | Mitigation |
|---|---|---|---|
| Indexing | Queue worker crashes | Stale search results | Retry logic + dead-letter queue |
| Search Backend | Elasticsearch cluster down | No search functionality | Fallback to SQLite or cached results |
| Bundle | Symfony dependency conflict | Integration breaks | Isolate bundle in a separate service |
| Relevance Scoring | Poorly configured field weights | Low-quality search results | A/B test weights with user feedback |
How can I help you explore Laravel packages today?