<?php /* * This file is part of the ONGR package. * * (c) NFQ Technologies UAB <info@nfq.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ONGR\ElasticsearchDSL\SearchEndpoint; use ONGR\ElasticsearchDSL\BuilderInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; /** * Search highlight dsl endpoint. */ class HighlightEndpoint extends AbstractSearchEndpoint { /** * Endpoint name */ CONST NAME = 'highlight'; /** * @var BuilderInterface */ private $highlight; /** * {@inheritdoc} */ public function normalize(NormalizerInterface $normalizer, $format = null, array $context = []) { if ($this->highlight) { return $this->highlight->toArray(); } return null; } /** * {@inheritdoc} */ public function add(BuilderInterface $builder, $key = null) { if ($this->highlight) { throw new \OverflowException('Only one highlight can be set'); } $this->highlight = $builder; } }