Раньше я получал результаты поиска примерно так:
$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 прокрутки с результатами агрегирования?