pedromdev / elasticsearch-module
Zend Framework 2 Module for Elasticsearch
v1.0.2
2017-03-05 22:41 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^4.8 || ^5.0
- satooshi/php-coveralls: ~1.0
- zendframework/zend-stdlib: ^3.0.1
This package is not auto-updated.
Last update: 2025-03-02 00:43:25 UTC
README
Integration between the Elasticsearch-PHP client and Zend Framework 2
Installation
The installation is made through Composer. Add the dependency in your composer.json:
{ "require": { "pedromdev/elasticsearch-module": "~1.0" } }
Then run command for installation:
php composer.phar install --no-dev
Or run update command if you already have an installation:
php composer.phar update --no-dev
After Composer install all dependencies, add ElasticsearchModule to your application.config.php:
<?php return [ 'modules' => [ 'ElasticsearchModule', ], ];
ElasticsearchModule services and configurations
Note: These services and configurations are based on the DoctrineModule/DoctrineORMModule services and configurations.
Services
Registered services
elasticsearch.loggers.default
: an\ArrayObject
instance with\Psr\Log\LoggerInterface
instances. Each instance is associated to a key in loggers configuration;elasticsearch.handler.default
: default middleware callable;elasticsearch.connection_factory.default
: an\Elasticsearch\Connections\ConnectionFactoryInterface
instance;elasticsearch.connection_pool.default
: an\Elasticsearch\ConnectionPool\AbstractConnectionPool
instance;elasticsearch.transport.default
: an\Elasticsearch\Transport
instance;elasticsearch.endpoint.default
: default callable to retrieve an\Elasticsearch\Endpoints\AbstractEndpoint
instances. Its only parameter is an endpoint class name (e.g., Get, Bulk, Delete);elasticsearch.client.default
: an\Elasticsearch\Client
instance;Elasticsearch\Client
: an alias ofelasticsearch.client.default
.
Usage
<?php $client = $serviceLocator->get('elasticsearch.client.default'); $client = $serviceLocator->get('Elasticsearch\Client');
Configuration
Create a config/autoload/elasticsearch.global.php file with the below content:
<?php return [ 'elasticsearch' => [ 'connection_pool' => [ 'default' => [ 'hosts' => [ 'http://localhost:9200', // string based 'http://username:password@localhost:9200', // if you have an authentication layer [ 'scheme' => 'http', // associative array based 'host' => 'localhost', 'port' => 9200, 'user' => 'username', // if you have an authentication layer 'pass' => 'password', ], ], ], ], ], ];