- PHP Client: other versions:
- Overview
- Quickstart
- Installation
- Configuration
- Inline Host Configuration
- Extended Host Configuration
- Authorization and Encryption
- Set retries
- Enabling the Logger
- Configure the HTTP Handler
- Setting the Connection Pool
- Setting the Connection Selector
- Setting the Serializer
- Setting a custom ConnectionFactory
- Set the Endpoint closure
- Building the client from a configuration hash
- Per-request configuration
- Future Mode
- Dealing with JSON Arrays and Objects in PHP
- Index Management Operations
- Indexing Documents
- Getting Documents
- Updating Documents
- Deleting documents
- Search Operations
- Namespaces
- Security
- Connection Pool
- Selectors
- Serializers
- PHP Version Requirement
- Breaking changes from 5.x
- Community DSLs
- Community Integrations
- Reference - Endpoints
- Elasticsearch\Client
- Elasticsearch\ClientBuilder
- Elasticsearch\Namespaces\CatNamespace
- Elasticsearch\Namespaces\ClusterNamespace
- Elasticsearch\Namespaces\IndicesNamespace
- Elasticsearch\Namespaces\IngestNamespace
- Elasticsearch\Namespaces\NodesNamespace
- Elasticsearch\Namespaces\RemoteNamespace
- Elasticsearch\Namespaces\SnapshotNamespace
- Elasticsearch\Namespaces\TasksNamespace
IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Building the client from a configuration hash
editBuilding the client from a configuration hash
editTo help ease automated building of the client, all configurations can be provided in a setting
hash instead of calling the individual methods directly. This functionality is exposed through
the ClientBuilder::FromConfig()
static method, which accepts an array of configurations
and returns a fully built client.
Array keys correspond to the method name, e.g. retries
key corresponds to setRetries()
method.
$params = [ 'hosts' => [ 'localhost:9200' ], 'retries' => 2, 'handler' => ClientBuilder::singleHandler() ]; $client = ClientBuilder::fromConfig($params);
Unknown parameters will throw an exception, to help the user find potential problems. If this behavior is not desired (e.g. you are using the hash for other purposes, and may have keys unrelated to the Elasticsearch client), you can set $quiet = true in fromConfig() to silence the exceptions.
$params = [ 'hosts' => [ 'localhost:9200' ], 'retries' => 2, 'imNotReal' => 5 ]; // Set $quiet to true to ignore the unknown `imNotReal` key $client = ClientBuilder::fromConfig($params, true);
Was this helpful?
Thank you for your feedback.