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=multiAdapterNote The
MultiAdapterdoes not support thesearchmethod and so theReadWriteAdapteris required.