Class yii\elasticsearch\Connection
| Inheritance | yii\elasticsearch\Connection » yii\base\Component » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2-elasticsearch/blob/master/Connection.php |
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 |
| $dslVersion | integer | Version of the domain-specific language to use with the server. | yii\elasticsearch\Connection |
| $nodes | array | The Elasticsearch cluster nodes to connect to. | yii\elasticsearch\Connection |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Component |
| __clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
| __construct() | Constructor. | yii\base\BaseObject |
| __get() | Returns the value of a component property. | yii\base\Component |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
| __set() | Sets the value of a component property. | yii\base\Component |
| __sleep() | Closes the connection when this component is being serialized. | yii\elasticsearch\Connection |
| __unset() | Sets a component property to be null. | yii\base\Component |
| attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
| attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
| behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
| close() | Closes the currently active DB connection. | yii\elasticsearch\Connection |
| createBulkCommand() | Creates a bulk command for execution. | yii\elasticsearch\Connection |
| createCommand() | Creates a command for execution. | yii\elasticsearch\Connection |
| delete() | Performs DELETE HTTP request | yii\elasticsearch\Connection |
| detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
| detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
| get() | Performs GET HTTP request | yii\elasticsearch\Connection |
| getBehavior() | Returns the named behavior object. | yii\base\Component |
| getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
| getClusterState() | yii\elasticsearch\Connection | |
| getDriverName() | Returns the name of the DB driver for the current \yii\elasticsearch\dsn. | yii\elasticsearch\Connection |
| getIsActive() | Returns a value indicating whether the DB connection is established. | yii\elasticsearch\Connection |
| getNodeInfo() | yii\elasticsearch\Connection | |
| getQueryBuilder() | Creates new query builder instance | yii\elasticsearch\Connection |
| hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
| hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
| head() | Performs HEAD HTTP request | yii\elasticsearch\Connection |
| init() | yii\elasticsearch\Connection | |
| off() | Detaches an existing event handler from this component. | yii\base\Component |
| on() | Attaches an event handler to an event. | yii\base\Component |
| open() | Establishes a DB connection. | yii\elasticsearch\Connection |
| post() | Performs POST HTTP request | yii\elasticsearch\Connection |
| put() | Performs PUT HTTP request | yii\elasticsearch\Connection |
| trigger() | Triggers an event. | yii\base\Component |
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
Version of the domain-specific language to use with the server.
This must be set to the major version of the Elasticsearch server in use, e.g. 5 for Elasticsearch 5.x.x,
6 for Elasticsearch 6.x.x, and 7 for Elasticsearch 7.x.x.
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 ( ) |