function it_build_parameters_for_similar_recipes(SlugGenerator $slugGenerator)
 {
     $criteria = new Criteria(0, false);
     $criteria->similarTo(new Name("John Collins"));
     $slugGenerator->generateFrom("John Collins")->willReturn('john-collins');
     $this->createParameters($criteria)->shouldReturn(['index' => ElasticSearch::INDEX, 'type' => 'recipe', 'body' => ['from' => 0, 'size' => 10, 'query' => ['filtered' => ['query' => ['more_like_this' => ['fields' => ["steps.name", "description.taste"], 'ids' => ["john-collins"], 'min_term_freq' => 1, 'max_query_terms' => 25]]]]]]);
 }
Example #2
0
 public function similarRecipesAction($slug, $size)
 {
     $recipe = $this->get('my_drinks.recipes')->findBySlug($slug);
     if (is_null($recipe)) {
         throw new NotFoundHttpException();
     }
     $criteria = new Criteria();
     $criteria->similarTo($recipe->getName());
     $criteria->changeSize((int) $size);
     $results = $this->get('my_drinks.search_engine')->search($criteria);
     return $this->render(':recipe:similarRecipes.html.twig', ['recipe' => $recipe, 'results' => $results]);
 }