Ojs\SiteBundle\Controller\SearchController::tagCloudAction PHP Метод

tagCloudAction() публичный Метод

Tag cloud page
public tagCloudAction ( ) : Response
Результат Symfony\Component\HttpFoundation\Response
    public function tagCloudAction()
    {
        $search = $this->container->get('fos_elastica.index.search');
        $searchQuery = new Query();
        $searchQuery->setSize(0);
        //get tags aggregation
        $tagsAgg = new Aggregation\Terms('tags');
        $tagsAgg->setField('tags');
        $tagsAgg->setSize(500);
        $searchQuery->addAggregation($tagsAgg);
        /**
         * @var ResultSet $results
         */
        $results = $search->search($searchQuery);
        $data['tags'] = [];
        foreach ($results->getAggregations()['tags']['buckets'] as $result) {
            $keys = array_filter(explode(',', $result['key']));
            if (is_array($keys)) {
                foreach ($keys as $key) {
                    $data['tags'][] = trim($key);
                }
            }
        }
        return $this->render('OjsSiteBundle:Search:tags_cloud.html.twig', $data);
    }