/** * Test for no match size. */ public function testNoMatchSize() { /** @var Repository $repo */ $repo = $this->getManager()->getRepository('AcmeTestBundle:Product'); $termQuery = new TermQuery('description', 'description'); $highlight = new Highlight(); $highlight->add((new Field('title'))->setForceSource(true)->setNoMatchSize(10)); $search = $repo->createSearch()->addQuery($termQuery)->setHighlight($highlight); $results = $repo->execute($search, Repository::RESULTS_RAW); $this->assertLessThanOrEqual(10, strlen(strip_tags($results['hits']['hits'][1]['highlight']['title'][0]))); }
/** * Tests toArray method. */ public function testHighlightToArray() { $highlight = new Highlight([new Field('name')]); $highlight->setOrder('test'); $highlight->setHighlighterType('postings'); $highlight->setFragmentSize(5); $highlight->setNumberOfFragments(5); $highlight->setTagsSchema('styled'); $highlight->setTag('tag', 'class'); $highlight->setTag('only_tag'); $result = ['order' => 'test', 'type' => 'postings', 'fragment_size' => 5, 'number_of_fragments' => 5, 'tags_schema' => 'styled', 'post_tags' => ['</tag>', '</only_tag>'], 'pre_tags' => ['<tag class="class">', '<only_tag>'], 'fields' => ['name' => ['matched_fields' => ['name']]]]; $this->assertEquals($result, $highlight->toArray()); }
/** * Check if highlight is parsed as expected. * * @expectedException \UnderflowException * @expectedExceptionMessage Offset unknown_field undefined. */ public function testHighlightParse() { /** * @var Repository $repository * @var TermQuery $termQuery */ list($repository, $termQuery) = $this->buildRepositoryAndTerm(); $highlight = new Highlight(); $highlight->setTag('tag')->setOrder('score')->add((new Field('title'))->setForceSource(true)); $result = $this->executeHighlight($repository, $termQuery, $highlight, Repository::RESULTS_OBJECT)[0]; $this->assertStringStartsWith('<tag>foo</tag>', $result->getHighLight()['title']); $result->getHighLight()['unknown_field']; }