以下的文檔的例子,如何進行分頁ElasticSearch結果,我在類型搜索這樣的:使用PHP API
$params = [
'index' => $this->index,
'type' => $this->type,
"scroll" => "30s",
"size" => 10,
'body' => $json
];
$response = $this->es->search($params);
現在$響應包括10個結果和_scroll_id。我如何使用它來分類我的結果?我在看這個例子
然後將文檔建議做:
while (isset($response['hits']['hits']) && count($response['hits']['hits']) > 0) {
$scroll_id = $response['_scroll_id'];
$response = $client->scroll([
"scroll_id" => $scroll_id, //...using our previously obtained _scroll_id
"scroll" => "30s" // and the same timeout window
]
);
}
,但尚不清楚,如果我要做一個新的請求,或者如果while循環是指存儲所有結果放入一個變量並傳遞給模板。
要顯示的任何實際示例?
感謝
您確定需要使用滾動嗎?你想得到多少結果? –
@DarthKotik無論多少數據,滾動點 - 滾動不斷更改的數據都是無關緊要的,因此結果集中沒有兩次相同的文檔。 –
我知道,但是如果你只需要幾千條記錄,'scroll'不是最好的方法,你可以在你的'search'查詢中設置'size' –