# Content

This extension integrates the ruflin/elastica (opens new window) into Nette Framework. For more information on how to use Elastica read the official documentation (opens new window).

# Setup

$ composer require contributte/elastica
1

register extension

extensions:
  elastica: Contributte\Elastica\DI\ElasticaExtension
1
2

# Configuration

Define at least one host, this would be minimal possible config.

elastica:
  hosts:
    es01:
      host: localhost
1
2
3
4

Full config

elastica:
  debug: %debugMode%
  hosts:
    es01:
      host: null
      port: null
      username: null
      password: null
      path: null
      url: null
      proxy: null
      persistent: null
      timeout: null
      connections: null
      roundRobin: null
      log: null
      retryOnConflict: null
      bigintConversion: null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Extension does not pass any unset values to elastica so elastica defaults just work. Take a look to Elastica docs (opens new window).

# Usage

Extension registers Contributte\Elastica\Client to DI container.

class YourService
{
	/** @var \Contributte\Elastica\Client */
	private $elasticaClient;

	public function __construct(Contributte\Elastica\Client $elastica)
	{
		$this->elasticaClient = $elastica;
	}
}
1
2
3
4
5
6
7
8
9
10

# Monolog

You can use monolog to log errors to kibana.

Just register ElasticaHandler in monolog setup.

  • Monolog\Handler\ElasticaHandler

Inspired by Filip Procházka (opens new window) package kdyby/ElasticSearch (opens new window).