Объединение агрегатов get с API прокрутки - PullRequest
0 голосов
/ 10 апреля 2019

Раньше я получал результаты поиска примерно так:

$search->setQuery($query);
$results = $search->search()->getAggregations();

Но теперь я использую API прокрутки:

$search->getQuery()->setSize(10000);
$scroll = new \Elastica\Scroll($search);
$results_arr = [];
foreach ($scroll as $scrollId => $resultSet) {
    $results = $resultSet->getResults();
    foreach($results as $r) {
        $results_arr[] = $r->getHit();
    }
}

Вопрос в том, как объединить API-интерфейс прокрутки и функцию getAggregations(), чтобы можно было не получать результаты в виде попаданий, а получать к ним доступ через что-то вроде:

$results = $search->search()->getAggregations();
foreach($results['agg']['buckets'] as $k=>$v) {
    ...
}

Как в Elastica PHP можно комбинировать API прокрутки с результатами агрегирования?

...