/** * @param array $aggregation * * @return \ArrayObject */ protected function extractFacetData(array $aggregation) { $facetValues = new ArrayObject(); foreach ($aggregation['buckets'] as $bucket) { $facetResultValueTransfer = new FacetSearchResultValueTransfer(); $facetResultValueTransfer->setValue($bucket['key'])->setDocCount($bucket['doc_count']); $facetValues->append($facetResultValueTransfer); } return $facetValues; }
/** * @param array $aggregation * @param string $parameterName * @param string $fieldName * * @return \ArrayObject */ protected function extractFacetData(array $aggregation, $parameterName, $fieldName) { $facetResultValues = new ArrayObject(); foreach ($aggregation[$fieldName . StringFacetAggregation::NAME_SUFFIX]['buckets'] as $nameBucket) { if ($nameBucket['key'] !== $parameterName) { continue; } foreach ($nameBucket[$fieldName . StringFacetAggregation::VALUE_SUFFIX]['buckets'] as $valueBucket) { $facetResultValueTransfer = new FacetSearchResultValueTransfer(); $facetResultValueTransfer->setValue($valueBucket['key'])->setDocCount($valueBucket['doc_count']); $facetResultValues->append($facetResultValueTransfer); } break; } return $facetResultValues; }