Download the PHP package muhammad-nawlo/filament-scout-manager without Composer

On this page you can find all versions of the php package muhammad-nawlo/filament-scout-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-scout-manager

Filament Scout Manager

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A Filament plugin to manage your Laravel Scout search setup from an admin panel.

Features

Requirements

Installation

Install the package:

Run the installer:

Or manually publish package files:

If you use a custom Filament theme, add the package views as a Tailwind source:

Register the plugin

In your Filament panel provider, register the plugin:

Configuration

Published config: config/filament-scout-manager.php

Usage notes

Runtime overrides

Stored model configuration (index name, searchable fields, engine) can be applied at runtime so that Scout uses the values you set in the Filament panel. This is opt-in and fully backward compatible.

To enable runtime overrides on a model, use the SearchableWithScoutManagerConfig trait (it combines Scout’s Searchable with plugin config and avoids trait method collisions):

If you prefer to use Searchable and UsesScoutManagerConfig separately, you must resolve the trait collision for searchableUsing, searchableAs, and toSearchableArray with insteadof; see the docblock on UsesScoutManagerConfig for the exact syntax.

Then configure the model in Filament (Search → Searchable Models → Configure). Stored values for index name, searchable fields, and engine will take effect when this trait is used. If no config exists for the model, behavior is identical to Scout’s defaults.

Batch operations without indexing

When you need to run many Eloquent operations (bulk updates, imports, etc.) without syncing each change to the search index, use Scout’s withoutSyncingToSearch() method. This avoids unnecessary index writes and improves performance.

Wrap your bulk logic in a closure:

After the batch is done, re-import the affected model so the index is up to date:

This pattern is controlled in your application code; the plugin does not add any global pause or toggle. See Laravel Scout: Pausing Indexing.

Conditionally searchable records

To index only some records (e.g. only published posts), implement shouldBeSearchable() on your model. Scout calls this when syncing via save/create or when using the searchable() method on a query; if it returns false, the record is not added or updated in the index.

Scout queue behavior

Scout’s queue configuration is global, not per model.

Database engine search strategies

When using Scout’s database engine (SCOUT_DRIVER=database), you can control how each column is searched by adding PHP attributes to your model’s toSearchableArray() method:

Columns not covered by these attributes keep Scout’s default “where like” behavior. The plugin does not set or change these attributes; you implement them in your model.

Example:

In a migration, add a full-text index for the columns you use with SearchUsingFullText:

These strategies apply only when the engine is database. See Laravel Scout: Customizing Database Searching Strategies.

Customizing Scout import queries

Scout lets you customize how models are loaded during batch import and how the collection is prepared before indexing. Implement these methods on your model; the plugin does not override them.

Modify the import query (e.g. eager load relations to avoid N+1 during import):

Modify the collection before indexing (e.g. load relations on the chunk):

Algolia user identification

When using the Algolia engine, you can associate search requests with authenticated users for analytics and personalization. Set in your .env:

This tells Scout to pass the authenticated user’s primary identifier and the request IP to Algolia with each search request. The plugin does not automatically send or capture user data; enabling identification and what is sent remain under your application and Laravel Scout. See Laravel Scout: Identifying Users.

Customizing the indexed model ID

By default, Scout uses the model’s primary key as the unique ID stored in the index. You can override this with getScoutKey() and getScoutKeyName() on your model (e.g. to use UUIDs, emails, or external IDs). Some engines (e.g. Typesense) expect string IDs or specific key names.

The plugin does not override these methods; implement them in your model when needed. See Laravel Scout: Configuring the Model ID.

Passing engine-specific search options

Some engines support passing extra parameters into the search request. For example, Typesense allows dynamic search parameters via options():

Algolia and other engines may support similar options depending on their API. The plugin does not restrict or modify options(); advanced search behavior stays in your application code. See your engine’s documentation (e.g. Typesense search parameters).

Laravel Scout feature coverage

Feature Status
Index syncing (import, flush, refresh, sync settings)
Runtime overrides (index name, fields, engine via trait)
Typesense UI support & safe indexed count
Custom engines (safe handling, no UI break)
Indexing control docs (pause, conditional, queue)
Database engine docs (search strategies, full-text)
Import customization docs (makeAllSearchableUsing, makeSearchableUsing)
Algolia user identification docs
Scout key override docs (getScoutKey, getScoutKeyName)
Dynamic search options docs (options())

The plugin does not override Scout core behavior. All engine-specific logic (identify, key, options) remains application-controlled.

Testing

The package uses Pest for PHPUnit-style tests. Run the test suite:

Test coverage

Changelog

Please see CHANGELOG for recent updates.

Contributing

Please see CONTRIBUTING for details.

Security

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see LICENSE for details.


All versions of filament-scout-manager with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
filament/filament Version ^5.0
laravel/scout Version ^10.24
spatie/laravel-package-tools Version ^1.15.0
spatie/laravel-settings Version ^3.7
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package muhammad-nawlo/filament-scout-manager contains the following files

Loading the files please wait ...