Integration between the Elasticsearch-PHP client and Zend Framework 2
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',
],
];
Note: These services and configurations are based on the DoctrineModule/DoctrineORMModule services and configurations.
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
.
<?php
$client = $serviceLocator->get('elasticsearch.client.default');
$client = $serviceLocator->get('Elasticsearch\Client');
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',
],
],
],
],
],
];