EngineManager
class EngineManager
Manages search engine instances and driver creation.
EngineManager is auto-singletoned by the container, so its instance cache is shared across coroutines for the worker lifetime.
Properties
| protected Engine> | $engines | The resolved engine instances. |
|
| protected Closure> | $customCreators | The registered custom driver creators. |
Methods
Create a new engine manager instance.
Call a custom driver creator.
Create an Algolia engine instance.
Ensure the Algolia client is installed.
Create a Meilisearch engine instance.
Ensure the Meilisearch client is installed.
Create a Typesense engine instance.
Ensure the Typesense client is installed.
Create a Turbopuffer engine instance.
Create a collection engine instance.
Create a database engine instance.
Create a null engine instance.
Forget all of the resolved engine instances.
Forget a specific resolved engine instance.
Get the default Scout driver name.
Get a Scout configuration value.
Details
at line 54
__construct(Container $container, EngineOperationRunner $operationRunner)
Create a new engine manager instance.
at line 63
Engine
engine(string|null $name = null)
Get an engine instance by name.
at line 76
protected Engine
resolve(string $name)
Resolve the given engine.
at line 94
protected Engine
callCustomCreator(string $name)
Call a custom driver creator.
at line 104
AlgoliaEngine
createAlgoliaDriver()
Create an Algolia engine instance.
at line 123
protected void
ensureAlgoliaClientIsInstalled()
Ensure the Algolia client is installed.
at line 137
MeilisearchEngine
createMeilisearchDriver()
Create a Meilisearch engine instance.
at line 156
protected void
ensureMeilisearchClientIsInstalled()
Ensure the Meilisearch client is installed.
at line 172
TypesenseEngine
createTypesenseDriver()
Create a Typesense engine instance.
at line 191
protected void
ensureTypesenseClientIsInstalled()
Ensure the Typesense client is installed.
at line 205
TurbopufferEngine
createTurbopufferDriver()
Create a Turbopuffer engine instance.
at line 220
CollectionEngine
createCollectionDriver()
Create a collection engine instance.
at line 228
DatabaseEngine
createDatabaseDriver()
Create a database engine instance.
at line 236
NullEngine
createNullDriver()
Create a null engine instance.
at line 249
EngineManager
extend(string $driver, Closure $callback)
Register a custom driver creator.
The callback persists in the singleton's customCreators array for the worker lifetime and applies to every subsequent engine resolution.
at line 265
EngineManager
forgetEngines()
Forget all of the resolved engine instances.
Clears the manager's engine cache; concurrent coroutines may already hold references that next resolution will not share.
at line 281
EngineManager
forgetEngine(string $name)
Forget a specific resolved engine instance.
Mutates the manager's engine cache; concurrent coroutines may already hold a reference to the engine and next resolution will rebuild.
at line 292
string
getDefaultDriver()
Get the default Scout driver name.
at line 302
protected mixed
getConfig(string $key, mixed $default = null)
Get a Scout configuration value.