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) { }
Since: 2.0.4
Author: Konstantin Sirotkin ([email protected])
Inheritance: extends yii\base\Object, implements Iterator
Show file 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

Destructor.
public __destruct ( )

current() public method

This method is required by the interface [[\Iterator]].
public current ( ) : mixed
return mixed the current dataset.

fetchData() protected method

Fetches the next batch of data.
protected fetchData ( ) : array
return array the data fetched

key() public method

This method is required by the interface [[\Iterator]].
public key ( ) : integer
return integer the index of the current row.

next() public method

This method is required by the interface [[\Iterator]].
public next ( )

reset() public method

This method will clean up the existing batch query so that a new batch query can be performed.
public reset ( )

rewind() public method

This method is required by the interface [[\Iterator]].
public rewind ( )

valid() public method

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

$db public property

the DB connection to be used when performing batch query. If null, the elasticsearch application component will be used.
public $db

$each public property

whether to return a single row during each iteration. If false, a whole batch of rows will be returned in each iteration.
public $each

$query public property

the query object associated with this batch query. Do not modify this property directly unless after BatchQueryResult::reset is called explicitly.
public $query

$scrollWindow public property

the amount of time to keep the scroll window open (in ElasticSearch time units.
public $scrollWindow