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

Filament Scout Manager Laravel Package

muhammad-nawlo/filament-scout-manager

A Filament admin panel for Laravel Scout. Manage search indexes from your dashboard: browse searchable models, import and flush records, and monitor index status without custom tooling. Simplifies Scout operations for Filament-powered Laravel apps.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Confirm prerequisites before installing: Laravel with Scout configured, a supported Scout driver, Filament 5 panel, and queue workers available for long-running index operations.
  • Install with Composer, publish the package config/assets/migrations, then run migrations. The package includes search logging and synonym/query-log resources, so database setup is part of onboarding.
  • Register the plugin in your Filament panel provider. Keep it on an admin/ops panel rather than a customer-facing panel unless you explicitly gate access.
  • Start with the searchable-model resource: it discovers models using Scout’s Searchable trait. Verify discovery first, then inspect index status before running any import or flush action.
  • First practical use case: open the searchable-model resource, confirm the model/index mapping, run an import for one non-critical model, and verify document counts through the index-status widget.
  • Where to look first:
    • Package config for discovery paths, logging, queue behavior, and driver options.
    • The searchable-model resource for per-model actions and overrides.
    • The query-log and synonym resources for operational controls.
    • Your config/scout.php for driver and queue settings.

Implementation Patterns

  • Use the resource actions as the day-to-day control plane: import, flush, refresh, and sync index settings. Prefer per-model actions over global bulk operations, especially in production.
  • Treat model discovery as configuration. Ensure only intended models use Scout’s Searchable trait and are within configured discovery paths; exclude abstract/base models and internal models where appropriate.
  • Use per-model overrides for index name, searchable fields, and engine only when the model genuinely differs from global Scout configuration. Typical cases are multi-tenant indexes, large models with curated searchable fields, or a model served by a different engine.
  • Keep overrides documented and reproducible. If overrides are managed from the panel, record them in deployment notes or seed/config scripts so a fresh environment behaves the same as production.
  • Pair searchable-field changes with a reindex. Changing which fields are searchable without importing/refreshing leaves the index inconsistent with the application.
  • Manage synonyms as part of search relevance tuning, then refresh the affected index or sync settings as required by your driver. Verify synonym behavior in staging before applying to production.
  • Use the popular-search widget to identify content gaps and tune synonyms, searchable fields, or result ranking. Use the query-log resource for debugging low-quality searches and zero-result queries.
  • Schedule query-log pruning. Search logs grow quickly and often contain user-entered text; define retention based on privacy and support needs.
  • Put import, refresh, and settings-sync operations behind queues. Configure Scout queue settings and run workers with appropriate timeout and memory limits.
  • Gate package resources with Filament policies/authorization. Index flush and settings sync should be restricted to senior operators or platform admins.
  • Establish a deployment sequence:
    1. Deploy code and run migrations.
    2. Clear/rebuild config cache.
    3. Restart queue workers.
    4. Import changed models or refresh indexes.
    5. Verify index status and run representative searches.
  • For multi-tenant applications, avoid global index overrides. Use tenant-aware searchableAs() logic or per-model index names that include the tenant identifier.
  • In CI/staging, test with the same Scout driver as production where possible. Driver-specific behavior for synonyms, settings sync, and index refresh is a common source of staging/production drift.

Gotchas and Tips

  • flush is destructive. Confirm what it does for your driver, restrict access, and never make it a one-click action for general admins in production.
  • Index settings sync can recreate or reconfigure indexes depending on the driver. Check driver documentation for downtime, reindex requirements, and whether settings changes preserve documents.
  • Engine overrides can silently diverge from config/scout.php. If a model is pinned to a different engine, ensure credentials, queues, and index names exist for that engine.
  • Synonym management and search logging are driver-dependent. Verify support before relying on them; unsupported features may appear in the UI but fail or no-op at the driver level.
  • Long imports can time out in the browser or worker. Use queues, chunked imports, and conservative batch sizes. Monitor failed jobs after every large operation.
  • Model discovery may miss models behind custom namespaces or include models you did not intend. Review the discovered list after installation and after adding new Searchable models.
  • Searchable-field overrides must match fields the driver can actually index. Relationships, nested attributes, and computed accessors need explicit handling and testing.
  • Changing an index name or engine is effectively a migration. Plan for dual-write/cutover or a full reimport; do not assume existing documents follow the new configuration.
  • Search logs can contain sensitive queries. Restrict access, define retention, and consider disabling or sampling logging in highly regulated environments.
  • Config caching can mask changes. After modifying package or Scout config, run php artisan config:clear and rebuild cache in each environment.
  • Queue workers cache code. Restart workers after deployment, especially after changing searchable models, package config, or index overrides.
  • For debugging, isolate whether the problem is Filament/package or Scout:
    • Run the equivalent php artisan scout:* command directly.
    • Check the index-status widget against driver-level document counts.
    • Inspect failed jobs and application logs.
    • Verify driver connectivity and credentials outside the panel.
  • Filament 5 compatibility should be pinned and tested. This is a young 1.0.x package; pin the release, review the changelog before upgrading, and validate panel registration after Filament upgrades.
  • Extension points to prefer: published config, custom resource actions/pages, policies, custom widgets, and model-level Scout methods such as searchableAs() and toSearchableArray(). Avoid patching vendor code so reliability fixes in later releases remain easy to adopt.
  • Because v1.0.1 includes reliability fixes around configuration and query logs, retest logging and config-dependent behavior after upgrading from any pre-1.0.1 build, especially in environments with cached config or custom query-log retention.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource