symfony - 如何在 symfony2 上做构面 : FOSElasticaBundle?

标签 symfony elasticsearch

如何在 symfony2 上使用 elasticsearch 进行构面查询?

我可以进行查询,并得到结果,它有效!

现在对于这个查询,我想对结果进行分面。

最佳答案

  public function facetAction()
  {           
        // index
        $search = $this->get('fos_elastica.index.appellations.appellation');


        $query = new \Elastica\Query\MatchAll();

        $elasticaQuery = new \Elastica\Query();
        $elasticaQuery->setQuery($query);
        $elasticaQuery->setSize(550);

        $elasticaFacet = new \Elastica\Facet\Terms('regions');
        $elasticaFacet->setField('regions');
        $elasticaFacet->setSize(550);

        $elasticaFacet->setOrder('reverse_count');

        $elasticaQuery->addFacet($elasticaFacet);

        // ResultSet
        $elasticaResultSet = $search->search($elasticaQuery);

        // Get Facets
        $elasticaFacets = $elasticaResultSet->getFacets();

        foreach ($elasticaFacets['regions']['terms'] as $elasticaFacet) {

            $results[] = $elasticaFacet;
        }       

        return $this->container->get('templating')->renderResponse
        ('ApplicationGhvAppellationsBundle:Default:indexFacets.html.twig', array(
        'appellations' => $results
        ));
  }

关于symfony - 如何在 symfony2 上做构面 : FOSElasticaBundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16107605/

相关文章:

javascript - 静态资源(js,css ...)的 Symfony 2 路由

php - 功能测试多语言 Symfony2 应用程序

php - 奏鸣曲日期范围过滤器

.net - ElasticSearch NEST 检查空值

aggregate - Logstash与Collected集成

php - 使用 Sonata 和 MongoDB 更新 Symfony 中的许多引用时出现问题

php - Symfony2 在 Windows 中安装供应商

elasticsearch - Elasticsearch全文搜索:如果用户查询中的索引中缺少/未知的单词,如何返回0命中

ruby - 仅匹配Elasticsearch中字符串的第一个字母

java - 使 ElasticSearch 在配置错误时失败