omure/scout-advanced-meilisearch
whereBetween, whereNotIn, closures for grouped queries) and integrates seamlessly with Meilisearch, a high-performance search engine. This aligns well with architectures requiring complex, indexed search (e.g., e-commerce filters, dynamic dashboards, or content-heavy apps).meilisearch_advanced and collection_advanced), enabling production-grade Meilisearch usage while offering an in-memory collection_advanced for testing. This reduces friction for teams already using Scout.Searchable trait, toSearchableArray), minimizing refactoring for existing Scout users.Searchable models and Scout queries (e.g., Model::search($query)->get()) remain functional.->query() (critical for large datasets).collection_advanced is not production-ready (in-memory only). Rely on it solely for unit tests.->query() fetching entire datasets may increase memory usage during indexing. Benchmark with your dataset size.->query() method for custom logic? If so, test the package’s fix for dataset fetching.searchable, filterable, and sortable attributes predefined in Meilisearch? If not, how will you handle dynamic schema updates?collection_advanced (which may not cover all edge cases)?collection_advanced enables local development/testing without Meilisearch.LIKE queries (use Scout’s default Meilisearch driver).whereBetween, closures).meilisearch driver with meilisearch_advanced in config/scout.php.searchable, filterable, and sortable attributes are updated in Meilisearch via:
// Example: Reindex to sync schema
Model::query()->reindex();
collection_advanced works for unit tests (mock Meilisearch responses).composer.json.searchable attributes are indexed in Meilisearch.config/scout.php.Searchable models to use advanced queries.where(fn($q) => ...)) for complex queries.whereBetween, whereNotIn, etc.collection_advanced.omure/scout-advanced-meilisearch for updates (last release: 2022). Plan for manual forks if abandoned.filterable fields) require Meilisearch index updates.Meilisearch\Client logs).collection_advanced may not replicate all Meilisearch behaviors (e.g., typos tolerance).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Meilisearch index schema mismatch | Silent failures (no results) | Validate schema pre-deployment; use try-catch in queries. |
| Package bug (e.g., closure parsing) | Broken search queries | Revert to default driver; patch locally. |
| Meilisearch downtime | Search unavailability | Implement database fallback (Scout’s default). |
| Large dataset reindexing | App timeouts | Use queues; monitor Meilisearch health. |
| Unsupported query syntax | Errors in production | Test all query types in staging. |
How can I help you explore Laravel packages today?