forked from elastic/elasticsearch-php
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[DOCS] Adds Helpers section to PHP book (elastic#1129)
* [DOCS] Adds Helpers section to PHP book. * [DOCS] Changes attribute to absolute link.
- Loading branch information
1 parent
ed047d1
commit 8ca8b62
Showing
7 changed files
with
125 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
[[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 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 Elasticsearch\Helper\Iterators\SearchHitIterator; | ||
use 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; | ||
} | ||
---- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters