Class yii\elasticsearch\Connection
| Inheritance | yii\elasticsearch\Connection » yii\base\Component | 
|---|---|
| Available since version | 2.0 | 
Elasticsearch Connection is used to connect to an elasticsearch cluster version 0.20 or higher
Public Properties
| Property | Type | Description | Defined By | 
|---|---|---|---|
| $activeNode | string | The active node. | yii\elasticsearch\Connection | 
| $auth | array | Authentication data used to connect to the ElasticSearch node. | yii\elasticsearch\Connection | 
| $autodetectCluster | boolean | Whether to autodetect available cluster nodes on open() | yii\elasticsearch\Connection | 
| $connectionTimeout | float | Timeout to use for connecting to an elasticsearch node. | yii\elasticsearch\Connection | 
| $dataTimeout | float | Timeout to use when reading the response from an elasticsearch node. | yii\elasticsearch\Connection | 
| $defaultProtocol | string | Default protocol to connect to nodes | yii\elasticsearch\Connection | 
| $nodes | array | The elasticsearch cluster nodes to connect to. | yii\elasticsearch\Connection | 
Public Methods
Protected Methods
| Method | Description | Defined By | 
|---|---|---|
| decodeErrorBody() | Try to decode error information if it is valid json, return it if not. | yii\elasticsearch\Connection | 
| httpRequest() | Performs HTTP request | yii\elasticsearch\Connection | 
| initConnection() | Initializes the DB connection. | yii\elasticsearch\Connection | 
| populateNodes() | Populates $nodes with the result of a cluster nodes request. | yii\elasticsearch\Connection | 
| selectActiveNode() | Select active node randomly | yii\elasticsearch\Connection | 
Events
| Event | Type | Description | Defined By | 
|---|---|---|---|
| EVENT_AFTER_OPEN | \yii\elasticsearch\Event | An event that is triggered after a DB connection is established | yii\elasticsearch\Connection | 
Property Details
Authentication data used to connect to the ElasticSearch node.
Array elements:
- username: the username for authentication.
- password: the password for authentication.
Array either MUST contain both username and password on not contain any authentication credentials.
Whether to autodetect available cluster nodes on open()
Timeout to use for connecting to an elasticsearch node.
This value will be used to configure the curl CURLOPT_CONNECTTIMEOUT option.
If not set, no explicit timeout will be set for curl.
Timeout to use when reading the response from an elasticsearch node.
This value will be used to configure the curl CURLOPT_TIMEOUT option.
If not set, no explicit timeout will be set for curl.
Default protocol to connect to nodes
The elasticsearch cluster nodes to connect to.
This is populated with the result of a cluster nodes request when $autodetectCluster is true.
Additional special options:
- auth: overrides $auth property. For example:
[
 'http_address' => 'inet[/127.0.0.1:9200]',
 'auth' => ['username' => 'yiiuser', 'password' => 'yiipw'], // Overrides the `auth` property of the class with specific login and password
 //'auth' => ['username' => 'yiiuser', 'password' => 'yiipw'], // Disabled auth regardless of `auth` property of the class
]
- protocol: explicitly sets the protocol for the current node (useful when manually defining a HTTPS cluster)
Method Details
Closes the connection when this component is being serialized.
| public array __sleep ( ) | 
Closes the currently active DB connection.
It does nothing if the connection is already closed.
| public void close ( ) | 
Creates a bulk command for execution.
| public yii\elasticsearch\BulkCommand createBulkCommand ( $config = [] ) | ||
| $config | array | The configuration for the yii\elasticsearch\BulkCommand class | 
| return | yii\elasticsearch\BulkCommand | The DB command | 
|---|---|---|
Creates a command for execution.
| public yii\elasticsearch\Command createCommand ( $config = [] ) | ||
| $config | array | The configuration for the Command class | 
| return | yii\elasticsearch\Command | The DB command | 
|---|---|---|
Try to decode error information if it is valid json, return it if not.
| protected mixed decodeErrorBody ( $body ) | ||
| $body | ||
Performs DELETE HTTP request
| public mixed delete ( $url, $options = [], $body = null, $raw = false ) | ||
| $url | string|array | URL | 
| $options | array | URL options | 
| $body | string | Request body | 
| $raw | boolean | If response body contains JSON and should be decoded | 
| return | mixed | Response | 
|---|---|---|
| throws | yii\elasticsearch\Exception | |
| throws | \yii\base\InvalidConfigException | |
Performs GET HTTP request
| public mixed get ( $url, $options = [], $body = null, $raw = false ) | ||
| $url | string|array | URL | 
| $options | array | URL options | 
| $body | string | Request body | 
| $raw | boolean | If response body contains JSON and should be decoded | 
| return | mixed | Response | 
|---|---|---|
| throws | yii\elasticsearch\Exception | |
| throws | \yii\base\InvalidConfigException | |
| public void getClusterState ( ) | 
Returns the name of the DB driver for the current \yii\elasticsearch\dsn.
| public string getDriverName ( ) | ||
| return | string | Name of the DB driver | 
|---|---|---|
Returns a value indicating whether the DB connection is established.
| public boolean getIsActive ( ) | ||
| return | boolean | Whether the DB connection is established | 
|---|---|---|
| public void getNodeInfo ( ) | 
Creates new query builder instance
| public yii\elasticsearch\QueryBuilder getQueryBuilder ( ) | 
Performs HEAD HTTP request
| public mixed head ( $url, $options = [], $body = null ) | ||
| $url | string|array | URL | 
| $options | array | URL options | 
| $body | string | Request body | 
| return | mixed | Response | 
|---|---|---|
| throws | yii\elasticsearch\Exception | |
| throws | \yii\base\InvalidConfigException | |
Performs HTTP request
| protected mixed httpRequest ( $method, $url, $requestBody = null, $raw = false ) | ||
| $method | string | Method name | 
| $url | string | URL | 
| $requestBody | string | Request body | 
| $raw | boolean | If response body contains JSON and should be decoded | 
| return | mixed | If request failed | 
|---|---|---|
| throws | yii\elasticsearch\Exception | if request failed | 
| throws | \yii\base\InvalidConfigException | |
| public void init ( ) | 
Initializes the DB connection.
This method is invoked right after the DB connection is established. The default implementation triggers an EVENT_AFTER_OPEN event.
| protected void initConnection ( ) | 
Establishes a DB connection.
It does nothing if a DB connection has already been established.
| public void open ( ) | ||
| throws | yii\elasticsearch\Exception | if connection fails | 
|---|---|---|
Populates $nodes with the result of a cluster nodes request.
| protected void populateNodes ( ) | ||
| throws | yii\elasticsearch\Exception | if no active node(s) found | 
|---|---|---|
Performs POST HTTP request
| public mixed post ( $url, $options = [], $body = null, $raw = false ) | ||
| $url | string|array | URL | 
| $options | array | URL options | 
| $body | string | Request body | 
| $raw | boolean | If response body contains JSON and should be decoded | 
| return | mixed | Response | 
|---|---|---|
| throws | yii\elasticsearch\Exception | |
| throws | \yii\base\InvalidConfigException | |
Performs PUT HTTP request
| public mixed put ( $url, $options = [], $body = null, $raw = false ) | ||
| $url | string|array | URL | 
| $options | array | URL options | 
| $body | string | Request body | 
| $raw | boolean | If response body contains JSON and should be decoded | 
| return | mixed | Response | 
|---|---|---|
| throws | yii\elasticsearch\Exception | |
| throws | \yii\base\InvalidConfigException | |
Select active node randomly
| protected void selectActiveNode ( ) |