schranz-search/seal-multi-adapter

支持将schranz-search/seal软件包写入多个其他适配器的适配器。

0.4.0 2024-03-18 21:03 UTC

This package is auto-updated.

Last update: 2024-09-18 16:13:23 UTC


README

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

Schranz Search SEAL
多适配器



MultiAdapter 允许写入多个适配器。

注意:这是 schranz-search/schranz-search 项目的组成部分,请在 主仓库 中创建问题。

注意:该项目正在积极开发中,任何反馈都将受到高度重视。

用法

通常与 ReadWriteAdapter 结合使用,以便仍然写入两个索引。

以下代码展示了如何使用此适配器创建引擎

<?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,
);

通过您喜欢的框架的DSN

multi://readAdapter?adapters[]=writeAdapter
read-write://readAdapter?write=multiAdapter

注意MultiAdapter 不支持 search 方法,因此需要 ReadWriteAdapter

作者