PHP Class yii\elasticsearch\BatchQueryResult
You usually do not instantiate BatchQueryResult directly. Instead, you obtain it by
calling [[Query::batch()]] or [[Query::each()]]. Because BatchQueryResult implements the [[\Iterator]] interface,
you can iterate it to obtain a batch of data in each iteration.
Batch size is determined by the [[Query::$limit]] setting. [[Query::$offset]] setting is ignored.
New batches will be obtained until the server runs out of results.
If [[Query::$orderBy]] parameter is not set, batches will be processed using the highly efficient "scan" mode.
In this case, [[Query::$limit]] setting determines batch size per shard.
See
elasticsearch guide
for more information.
Example:
php
$query = (new Query)->from('user');
foreach ($query->batch() as $i => $users) {
$users represents the rows in the $i-th batch
}
foreach ($query->each() as $user) {
}
Exibir arquivo
Open project: yiisoft/yii2-elasticsearch
Class Usage Examples
Public Properties
Property |
Type |
Description |
|
$db |
|
the DB connection to be used when performing batch query.
If null, the elasticsearch application component will be used. |
|
$each |
|
whether to return a single row during each iteration.
If false, a whole batch of rows will be returned in each iteration. |
|
$query |
|
the query object associated with this batch query.
Do not modify this property directly unless after BatchQueryResult::reset is called explicitly. |
|
$scrollWindow |
|
the amount of time to keep the scroll window open
(in ElasticSearch time units. |
|
Public Methods
Method |
Description |
|
__destruct ( ) |
Destructor. |
|
current ( ) : mixed |
Returns the current dataset. |
|
key ( ) : integer |
Returns the index of the current dataset. |
|
next ( ) |
Moves the internal pointer to the next dataset. |
|
reset ( ) |
Resets the batch query. |
|
rewind ( ) |
Resets the iterator to the initial state. |
|
valid ( ) : boolean |
Returns whether there is a valid dataset at the current position. |
|
Protected Methods
Method |
Description |
|
fetchData ( ) : array |
Fetches the next batch of data. |
|
Method Details
__destruct()
public method
This method is required by the interface [[\Iterator]].
fetchData()
protected method
Fetches the next batch of data.
This method is required by the interface [[\Iterator]].
This method is required by the interface [[\Iterator]].
This method will clean up the existing batch query so that a new batch query can be performed.
This method is required by the interface [[\Iterator]].
This method is required by the interface [[\Iterator]].
public valid ( ) : boolean |
return |
boolean |
whether there is a valid dataset at the current position. |
Property Details
the DB connection to be used when performing batch query.
If null, the elasticsearch application component will be used.
whether to return a single row during each iteration.
If false, a whole batch of rows will be returned in each iteration.
$query public_oe property
the query object associated with this batch query.
Do not modify this property directly unless after
BatchQueryResult::reset is called explicitly.