Поиск Azure - $ skip в PHP - PullRequest
       7

Поиск Azure - $ skip в PHP

0 голосов
/ 30 октября 2018

Допустим, у меня есть этот код в 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 (например), что может иметь проблемы с производительностью.

Кстати, к вашему сведению - мне нужно это на гранях. где я должен перебрать все записи и получить их значение для моих категорий фасетов.

Заранее спасибо! Ура!

...