jibe84 / elasticsearch-second-bundle
基于 elasticsearch/elasticsearch-php 的 Symfony2 Bundle,m6web/elasticsearch-bundle 的副本
Requires
- php: >=5.5
- elasticsearch/elasticsearch: ^2.3
Requires (Dev)
- atoum/atoum: ^2.6
- m6web/coke: ~1.2.0
- m6web/symfony2-coding-standard: ~1.2.0
- symfony/config: ^2.3|^3.0
- symfony/dependency-injection: ^2.3|^3.0
- symfony/event-dispatcher: ^2.3|^3.0
- symfony/yaml: ^2.3|^3.0
This package is not auto-updated.
Last update: 2024-09-23 14:21:55 UTC
README
在 Symfony 项目中集成 Elasticsearch 官方 PHP 客户端。
复制自 M6Web/ElasticsearchBundle。
功能
此 Bundle 根据应用程序配置中的设置创建一个或多个 Elasticsearch 客户端服务。
使用方法
安装
首先必须在您的 composer.json
中添加该 Bundle
"require": { "jibe84/elasticsearch-second-bundle": "dev-master" }
然后在您的 AppKernel
类中注册该 Bundle
<?php public function registerBundles() { $bundles = array( // ... new M6Web\Bundle\ElasticsearchSecondBundle\M6WebElasticsearchSecondBundle(), ); // ... }
配置
在您的 config.yml
中,您可以配置一个或多个 Elasticsearch 客户端
m6web_elasticsearch: default_client: my_client clients: my_client: hosts: - 'localhost:9200' - 'http://other_host:9201' my_other_client: hosts: - 'other_server:9200'
从该配置,Bundle 将创建两个服务
m6web_elasticsearch.client.my_client
将连接到两个 Elasticsearch 实例:端口 9200 的localhost
和端口 9201 的other_host
m6web_elasticsearch.client.my_other_client
将连接到一个 Elasticsearch 实例:端口 9200 的other_server
它还将创建 m6web_elasticsearch.client.default
,它是 m6web_elasticsearch.client.my_client
的别名
附加配置
每个客户端都可以有额外的配置参数,这些参数将用于实例化 \Elasticsearch\Client
。例如
m6web_elasticsearch: clients: my_client: hosts: - 'https://username:password@localhost:9200' headers: 'Accept-Encoding': ['gzip'] retries: 2 logger: monolog.logger.custom connectionPoolClass: '\Elasticsearch\ConnectionPool\StaticConnectionPool' selectorClass: '\Elasticsearch\ConnectionPool\Selectors\RandomSelector' connectionParams: client: timeout: 3 connect_timeout: 1
事件
该 Bundle 分发包含有关 Elasticsearch 请求的各个信息的 \M6Web\Bundle\ElasticsearchSecondBundle\EventDispatcher\ElasticsearchEvent
事件。
事件以 m6web.elasticsearch
的名称触发。
测试
您可以使用以下方式启动单元测试
./vendor/bin/atoum
许可证
ElasticsearchSecondBundle 在 MIT 许可证 下授权。