The MultiAdapter
allows to write into multiple adapters.
Note: This is part of the
schranz-search/schranz-search
project create issues in the main repository.
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 Schranz\Search\SEAL\Adapter\Elasticsearch\ElasticsearchAdapter;
use Schranz\Search\SEAL\Adapter\Multi\MultiAdapter;
use Schranz\Search\SEAL\Adapter\ReadWrite\ReadWriteAdapter;
use Schranz\Search\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.