schranz-search/seal-multi-adapter

An adapter to support to write into multiple other adapters schranz-search/seal package.

0.4.0 2024-03-18 21:03 UTC

This package is auto-updated.

Last update: 2024-03-29 09:11:32 UTC


README

Schranz Search Logo with a Seal on it with a magnifying glass

Schranz Search SEAL
Multi Adapter



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.

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

Authors