Допустим, у меня есть этот код на PHP:
public function getFromAzure($searchParam, $jobCategory, $top, $skip, $request){
$listingManager = $this->get('rd.model_manager.job_listing');
$url = $listingManager->getAzureSearchParam($request, 'azure_search_idx');
$apiKey = $listingManager->getAzureSearchParam($request, 'azure_key');
$searchParam = preg_replace('/\s+/', '+', $searchParam);
$postdata = json_encode(
array(
'search' => $searchParam,
'filter' => $category,
'orderby'=> 'publishedDate desc',
'facets' => array('locationName','employmentType', 'workSchedule','jobFunction','positionLevel','industry'),
'top' => $top,
'skip' => $skip,
'count' => true
)
);
$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;
}
Есть ли способ, которым я могу перебрать $ skip внутри этой функции (PHP)?
В настоящее время я повторяю пропустить вызов Ajax из JavaScript. 1 вызов ajax за (15 записей) пропустить.
Мне нужно выполнить итерацию пропуска, потому что мне нужно загрузить около 2000 записей (и их количество) при загрузке страницы, которая для каждого запроса ограничена 1000. и при условии, если у меня есть 10000 записей или более. тогда мне придется запускать ajax каждые 1000 (например), что может иметь проблемы с производительностью.
Кстати, к вашему сведению — мне нужно это на гранях. где я должен перебрать все записи и получить их значение моих категорий фасетов.
Заранее спасибо! Ура!
Задача ещё не решена.
Других решений пока нет …