cmsig/seal-multi-adapter
SEAL Multi Adapter writes indexing operations to multiple adapters at once. Commonly paired with ReadWriteAdapter to keep search reads on one engine while mirroring writes to several indexes, useful during migrations or multi-backend setups.
Note: This is part of the
cmsig/searchproject create issues in the main repository.
The MultiAdapter allows to write into multiple adapters.
Note: This project is heavily under development and any feedback is greatly appreciated.
It is mostly used in combination with the ReadWriteAdapter to still write into both indexes.
The following code shows how to create an Engine using this Adapter:
<?php
use CmsIg\Seal\Adapter\Elasticsearch\ElasticsearchAdapter;
use CmsIg\Seal\Adapter\Multi\MultiAdapter;
use CmsIg\Seal\Adapter\ReadWrite\ReadWriteAdapter;
use CmsIg\Seal\Engine;
$readAdapter = new ElasticsearchAdapter(/* .. */); // can be any adapter
$writeAdapter = new ElasticsearchAdapter(/* .. */); // can be any adapter
$engine = new Engine(
new ReadWriteAdapter(
$readAdapter,
new MultiAdapter(
$readAdapter,
$writeAdapter,
),
),
$schema,
);
Via DSN for your favorite framework:
multi://readAdapter?adapters[]=writeAdapter
read-write://readAdapter?write=multiAdapter
Note The
MultiAdapterdoes not support thesearchmethod and so theReadWriteAdapteris required.
How can I help you explore Laravel packages today?