schranz-search/seal-multi-adapter

This package is abandoned and no longer maintained. The author suggests using the cmsig/seal-multi-adapter package instead.

An adapter to support to write into multiple other adapters cmsig/seal package.

0.5.0 2024-09-24 11:30 UTC

This package is auto-updated.

Last update: 2024-12-11 12:04:05 UTC


README

Note: This is part of the cmsig/search project create issues in the main repository.

SEAL Logo with an abstract seal sitting on a telescope. Logo created by Meine Wilma

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 the search method and so the ReadWriteAdapter is required.

Authors