У меня есть этот пример кода PHP:
public function getListFromAzure($searchParam, $listCategory, $request){
$aListingManager = $this->get('recruitday.model_manager.job_listing');
$url = $jobListingManager->getAzureSearchParam($request, 'azure_search_idx');
$apiKey = $jobListingManager->getAzureSearchParam($request, 'azure_key');
$searchParam = preg_replace('/\s+/', '+', $searchParam);
$postdata = json_encode(
array(
'search' => $searchParam,
'filter' => $listCategory,
'orderby'=> 'publishedDate desc',
'facets' => array('locationName','empType', 'workSchedule','listFunction','positionLevel','industry'),
'top' => 15,
)
);
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Content-type: application/json\r\n" .
"api-key: ". $apiKey . "\r\n" .
"Accept: application/json",
'content'=>$postdata
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents($url, false, $context);
$file = json_decode($file,true);
return $file;
}
Это отлично работает на одном запросе / странице.Предполагая, что у меня есть 10 000 записей для извлечения, и по одному запросу, поиск Azure имеет ограничение в 1000 записей.Для этого должны быть заданы параметры поиска Azure $ top - где указывается, сколько элементов необходимо вернуть в пакете, а $ skip указывает, сколько элементов пропустить.вставлено в эту часть кода:
$postdata = json_encode(
array(
'search' => $searchParam,
'filter' => $jobCategory,
'orderby'=> 'publishedDate desc',
'facets' => array('locationName','employmentType', 'workSchedule','jobFunction','positionLevel','industry'),
'top' => 15,
'skip' => 0,
'count' => true
)
);
при условии, что этот запрос будет для 1-го пакета / страницы, так как будет показано top = 15 записей.для следующего пакета / пропуска страницы будет повторяться, например, как 'skip' => 15.
Проблема в том, что я не могу выполнить итерацию этого параметра.или я должен повторить это?или есть другой способ?Справочник по параметрам поиска Azure: https://docs.microsoft.com/en-us/azure/search/search-pagination-page-layout
Я думаю о добавлении файла JSON.релевантный поиск: Добавить данные в файл .JSON с помощью PHP
ранее, у меня отображается 1000 записей.но мне нужно настроить, так как мои записи уже содержат более 1000 записей.на передней стороне - я звоню через ajax.затем формируется в HTML.затем я настраиваю нумерацию страниц с помощью jquery / javascript, превращая их в куски по 20 записей (например) на страницу.
надеюсь, я никого не смущаю.заранее спасибо!ура!
кстати: я использую PHP, Symfony 2.