schranz-search / seal-multi-adapter
An adapter to support to write into multiple other adapters cmsig/seal package.
Fund package maintenance!
alexander-schranz
paypal.me/L91
Requires
- php: ^8.1
- psr/container: ^1.0 || ^2.0
- schranz-search/seal: ^0.5
Requires (Dev)
- php-cs-fixer/shim: ^3.51
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.3
- rector/rector: ^1.0
README
Logo created by Meine WilmaNote: This is part of the
cmsig/search
project create issues in the main repository.
SEAL
Multi Adapter
The MultiAdapter
allows to write into multiple adapters.
Note: This project is heavily under development and any feedback is greatly appreciated.
Usage
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.