pmg/elasticsearch-bundle

此软件包已被废弃,不再维护。作者建议使用pmg/elasticsearch-bundle软件包代替。

为 Symfony 构建的极其简单的 Elasticsearch 软件包

此软件包的官方仓库似乎已不存在,因此已将其冻结。

4.0.0 2019-08-23 11:29 UTC

This package is auto-updated.

Last update: 2021-10-26 20:06:11 UTC


README

Build Status

这是一个将 Elasticsearch 集成到 Symfony 的极其简单的软件包。它只提供了一些配置和 elasticsearch 客户端。

安装

使用 composer 获取软件包

composer require pmg/elasticsearch-bundle ~1.0

并在您的 AppKernel 中启用它。

<?php
// app/AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
            new PMG\ElasticsearchBundle\PmgElasticsearchBundle(),
        );

        // ...

        return $bundles;
    }

    // ...
}

配置

您将在 config.yml 文件中使用 pmg_elasticsearch 键。选项与 Elasticsearch 本身所做的大致相同。这里的大部分选项都是 null,并使用 Elasticsearch\Client 设置的默认值。

您可以设置多个连接

pmg_elasticsearch:
    default_client: example
    clients:
        example:
            connection_class: ~
            connection_factory_class: ~
            connection_pool_class: ~
            selector_class: ~
            serializer_class: ~
            sniff_on_start: ~
            hosts:
                - https://:9200
        another: ~

或者只是一个单一的客户端

pmg_elasticsearch:
    connection_class: ~
    connection_factory_class: ~
    connection_pool_class: ~
    selector_class: ~
    serializer_class: ~
    sniff_on_start: ~
    hosts:
        - https://:9200

服务

pmg_elasticsearch.client 服务将始终是默认客户端。其他客户端可以通过 pmg_elasticsear.{name}.client 访问。

use Symfony\Component\DependencyInjection\ContainerInterface;

/** @var $container ContainerInterface */
$client = $container->get('pmg_elasticsearch.client');

$otherClient = $container->get('pmg_elasticsearch.another.client');