W3cubDocs

/Yii 2.0

Class yii\elasticsearch\BatchQueryResult

Inheritance yii\elasticsearch\BatchQueryResult » yii\base\Object
Implements Iterator, yii\base\Configurable
Available since version 2.0.4
Source Code https://github.com/yiisoft/yii2-elasticsearch/blob/master/BatchQueryResult.php

BatchQueryResult represents a batch query from which you can retrieve data in batches.

You usually do not instantiate BatchQueryResult directly. Instead, you obtain it by calling yii\elasticsearch\Query::batch() or yii\elasticsearch\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 yii\elasticsearch\Query::$limit setting. yii\elasticsearch\Query::$offset setting is ignored. New batches will be obtained until the server runs out of results.

If yii\elasticsearch\Query::$orderBy parameter is not set, batches will be processed using the highly efficient "scan" mode. In this case, yii\elasticsearch\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) { } `

Public Properties

Property Type Description Defined By
$db yii\elasticsearch\Connection The DB connection to be used when performing batch query. yii\elasticsearch\BatchQueryResult
$each boolean Whether to return a single row during each iteration. yii\elasticsearch\BatchQueryResult
$query yii\elasticsearch\Query The query object associated with this batch query. yii\elasticsearch\BatchQueryResult
$scrollWindow string The amount of time to keep the scroll window open (in ElasticSearch [time units](https://www. yii\elasticsearch\BatchQueryResult

Public Methods

Method Description Defined By
__call() Calls the named method which is not a class method. yii\base\Object
__construct() Constructor. yii\base\Object
__destruct() Destructor. yii\elasticsearch\BatchQueryResult
__get() Returns the value of an object property. yii\base\Object
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Object
__set() Sets value of an object property. yii\base\Object
__unset() Sets an object property to null. yii\base\Object
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Object
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Object
className() Returns the fully qualified name of this class. yii\base\Object
current() Returns the current dataset. yii\elasticsearch\BatchQueryResult
hasMethod() Returns a value indicating whether a method is defined. yii\base\Object
hasProperty() Returns a value indicating whether a property is defined. yii\base\Object
init() Initializes the object. yii\base\Object
key() Returns the index of the current dataset. yii\elasticsearch\BatchQueryResult
next() Moves the internal pointer to the next dataset. yii\elasticsearch\BatchQueryResult
reset() Resets the batch query. yii\elasticsearch\BatchQueryResult
rewind() Resets the iterator to the initial state. yii\elasticsearch\BatchQueryResult
valid() Returns whether there is a valid dataset at the current position. yii\elasticsearch\BatchQueryResult

Protected Methods

Method Description Defined By
fetchData() Fetches the next batch of data. yii\elasticsearch\BatchQueryResult

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 yii\elasticsearch\Connection $db = null

$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 boolean $each = false

$query public property

The query object associated with this batch query. Do not modify this property directly unless after reset() is called explicitly.

public yii\elasticsearch\Query $query = null

$scrollWindow public property

The amount of time to keep the scroll window open (in ElasticSearch time units.

public string $scrollWindow = '1m'

Method Details

__destruct() public method

Destructor.

public void __destruct ( )

current() public method

Returns the current dataset.

This method is required by the interface Iterator.

public mixed current ( )
return mixed

The current dataset.

fetchData() protected method

Fetches the next batch of data.

protected array fetchData ( )
return array

The data fetched

key() public method

Returns the index of the current dataset.

This method is required by the interface Iterator.

public integer key ( )
return integer

The index of the current row.

next() public method

Moves the internal pointer to the next dataset.

This method is required by the interface Iterator.

public void next ( )

reset() public method

Resets the batch query.

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

public void reset ( )

rewind() public method

Resets the iterator to the initial state.

This method is required by the interface Iterator.

public void rewind ( )

valid() public method

Returns whether there is a valid dataset at the current position.

This method is required by the interface Iterator.

public boolean valid ( )
return boolean

Whether there is a valid dataset at the current position.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-elasticsearch-batchqueryresult.html