Note: This is part of the
cmsig/search
project 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
MultiAdapter
does not support thesearch
method and so theReadWriteAdapter
is required.