happyr/elastica-dsn

支持 ruflin/Elastica 的 DSN

0.1.1 2020-01-21 16:24 UTC

This package is auto-updated.

Last update: 2024-08-25 01:58:43 UTC


README

Latest Version Software License Build Status Code Coverage Quality Score Total Downloads

此包包含一个工厂方法,用于从ruflin/elastica创建 Elasticsearch 客户端。该工厂支持 DSN,以便与依赖注入容器轻松配置。

安装

composer require happyr/elastica-dsn

示例

use Happyr\ElasticaDsn\ClientFactory;

$client = ClientFactory::create('elasticsearch://localhost');
$client = ClientFactory::create('elasticsearch:?host[localhost]&host[localhost:9201]&host[127.0.0.1:9202]');
$client = ClientFactory::create('elasticsearch://foo:bar@localhost:1234');
$client = ClientFactory::create('elasticsearch://localhost:9201', ['username' => 'foo', 'password' => 'bar']);

如果您使用 Symfony 服务配置

services:
    Elastica\Client:
        factory: 'Happyr\ElasticaDsn\ClientFactory::create'
        arguments: ['elasticsearch://localhost']

如果您想进一步配置客户端,您可以直接从 ClientFactory 获取配置数组并自行实例化客户端。

use Elastica\Client;
use Happyr\ElasticaDsn\ClientFactory;

$config = ClientFactory::getConfig('elasticsearch://localhost');

// Add more stuff to $config array
$client = new Client($config);