Pony.fm/config/elasticsearch.php

169 lines
5.2 KiB
PHP
Raw Normal View History

2016-01-07 19:16:37 +01:00
<?php
return [
/**
* You can specify one of several different connections when building an
* Elasticsearch client.
*
* Here you may specify which of the connections below you wish to use
* as your default connection when building an client. Of course you may
* use create several clients at once, each with different configurations.
*/
'defaultConnection' => 'default',
/**
* These are the connection parameters used when building a client.
*/
'connections' => [
'default' => [
/**
* Hosts
*
* This is an array of hosts that the client will connect to. It can be a
* single host name, or an array if you are running a cluster of Elasticsearch
* instances.
*
* This is the only configuration value that is mandatory.
*
* If set in an environment variable, this should be a comma-separated
* list of hostnames. Port numbers are optional; 9200 is the default.
2016-01-07 19:16:37 +01:00
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_host_configuration
*/
'hosts' => explode(',', env('ELASTICSEARCH_HOSTS', 'localhost:9200')),
2016-01-07 19:16:37 +01:00
/**
* SSL
*
* If your Elasticsearch instance uses an out-dated or self-signed SSL
* certificate, you will need to pass in the certificate bundle. This can
* either be the path to the certificate file (for self-signed certs), or a
* package like https://github.com/Kdyby/CurlCaBundle. See the documentation
* below for all the details.
*
* If you are using SSL instances, and the certificates are up-to-date and
* signed by a public certificate authority, then you can leave this null and
* just use "https" in the host path(s) above and you should be fine.
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_security.html#_ssl_encryption_2
*/
'sslVerification' => null,
/**
* Logging
*
* Logging is handled by passing in an instance of Monolog\Logger (which
* coincidentally is what Laravel's default logger is).
*
* If logging is enabled, you either need to set the path and log level
* (some defaults are given for you below), or you can use a custom logger by
* setting 'logObject' to an instance of Psr\Log\LoggerInterface. In fact,
* if you just want to use the default Laravel logger, then set 'logObject'
* to \Log::getMonolog().
*
* Note: 'logObject' takes precedent over 'logPath'/'logLevel', so set
* 'logObject' null if you just want file-based logging to a custom path.
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#enabling_logger
*/
'logging' => false,
// If you have an existing instance of Monolog you can use it here.
//'logObject' => \Log::getMonolog(),
'logPath' => storage_path('logs/elasticsearch.log'),
'logLevel' => Monolog\Logger::INFO,
/**
* Retries
*
* By default, the client will retry n times, where n = number of nodes in
* your cluster. If you would like to disable retries, or change the number,
* you can do so here.
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_set_retries
*/
'retries' => null,
/**
* The remainder of the configuration options can almost always be left
* as-is unless you have specific reasons to change them. Refer to the
* appropriate sections in the Elasticsearch documentation for what each option
* does and what values it expects.
*/
/**
* Sniff On Start
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html
*/
'sniffOnStart' => false,
/**
* HTTP Handler
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_configure_the_http_handler
* @see http://ringphp.readthedocs.org/en/latest/client_handlers.html
*/
'httpHandler' => null,
/**
* Connection Pool
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_connection_pool
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_connection_pool.html
*/
'connectionPool' => null,
/**
* Connection Selector
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_connection_selector
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_selectors.html
*/
'connectionSelector' => null,
/**
* Serializer
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_serializer
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_serializers.html
*/
'serializer' => null,
/**
* Connection Factory
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_a_custom_connectionfactory
*/
'connectionFactory' => null,
/**
* Endpoint
*
* @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_set_the_endpoint_closure
*/
'endpoint' => null,
]
]
];