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 |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component |
$clusterState | 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 |
$driverName | string | Name of the DB driver. This property is read-only. | yii\elasticsearch\Connection |
$dslVersion | integer | Version of the domain-specific language to use with the server. | yii\elasticsearch\Connection |
$isActive | boolean | Whether the DB connection is established. This property is read-only. | yii\elasticsearch\Connection |
$nodeInfo | yii\elasticsearch\Connection | ||
$nodes | array | The Elasticsearch cluster nodes to connect to. | yii\elasticsearch\Connection |
$queryBuilder | yii\elasticsearch\QueryBuilder | This property is read-only. | 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 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
Name of the DB driver. This property is read-only.
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.
Whether the DB connection is established. This property is read-only.
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)
This property is read-only.
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 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 ( ) |