/** * Perform the show action for a block * * @param ReadBlockInterface $block * * @return Response */ public function show(ReadBlockInterface $block) { $request = $this->requestStack->getCurrentRequest(); $data = $request->get('elastica_search'); $searchData = array(); if (is_array($data) && array_key_exists('search', $data) && null !== $data['search']) { $searchParameter = $data['search']; $index = $this->client->getIndex($this->indexName); $qb = new QueryBuilder(); $search = new Search($this->client); $search->addIndex($index); $search->setQuery($qb->query()->filtered($qb->query()->query_string($searchParameter), $qb->filter()->bool()->addMust($qb->filter()->term(array('language' => $request->getLocale()))))); $searchData = $search->search(null, array('limit' => $block->getAttribute('searchLimit'))); } return $this->render('OpenOrchestraElasticaFrontBundle:Block/List:show.html.twig', array('searchData' => $searchData)); }
/** * @group unit */ public function testFacade() { $qb = new QueryBuilder(); // test one example QueryBuilder flow for each default DSL type $this->assertInstanceOf('Elastica\\Query\\AbstractQuery', $qb->query()->match()); $this->assertInstanceOf('Elastica\\Filter\\AbstractFilter', $qb->filter()->bool()); $this->assertInstanceOf('Elastica\\Aggregation\\AbstractAggregation', $qb->aggregation()->avg('name')); $this->assertInstanceOf('Elastica\\Suggest\\AbstractSuggest', $qb->suggest()->term('name', 'field')); }