Thin but powerful wrapper for ruflin/Elastica.
Simply add this library to your project as a dependency:
composer require kissge/elastica-friendly-result-set
Example 1.
use Kissge\ElasticaFriendlyResultSet\Aggregations; $index = $container->get('fos_elastica.index.<index name>'); // Symfony assumed, but that's not necessary $aggs = new Aggregations($index->search($query)->getAggregations()); foreach ($aggs-><aggregation name> as $key => $bucket) { do_something($bucket-><subaggregation name>); do_something($bucket-><subaggregation name>-><term name>); }
Example 2.
use Kissge\ElasticaFriendlyResultSet\Aggregations; $aggs = new Aggregations($index->search($query)->getAggregations()); $this->render($view, ['aggs' => $aggs]);
{% for key, interval in aggs.interval %}
<tr>
<th>
{{ key }}
</th>
<td>
{{ interval.visitors.female }}
</td>
<td>
{{ interval.visitors.male }}
</td>
<td>
{{ interval.averageScore }}
</td>
</tr>
{% endfor %}This library is licensed under the MIT License. See LICENSE for the complete license.