diff --git a/src/Aggregation/AbstractAggregation.php b/src/Aggregation/AbstractAggregation.php index 32977f49cd33dbdd3bcf33456c032674f3bb0965..fe59853712605be51d692b95a55a1feb3ad50a07 100644 --- a/src/Aggregation/AbstractAggregation.php +++ b/src/Aggregation/AbstractAggregation.php @@ -12,14 +12,14 @@ namespace ONGR\ElasticsearchDSL\Aggregation; use ONGR\ElasticsearchDSL\BuilderBag; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\NameAwareTrait; +use ONGR\ElasticsearchDSL\NamedBuilderInterface; use ONGR\ElasticsearchDSL\ParametersTrait; /** * AbstractAggregation class. */ -abstract class AbstractAggregation implements BuilderInterface +abstract class AbstractAggregation implements NamedBuilderInterface { use ParametersTrait; use NameAwareTrait; @@ -93,7 +93,7 @@ abstract class AbstractAggregation implements BuilderInterface /** * Returns all sub aggregations. * - * @return BuilderBag[]|BuilderInterface[] + * @return BuilderBag[]|NamedBuilderInterface[] */ public function getAggregations() { @@ -108,7 +108,7 @@ abstract class AbstractAggregation implements BuilderInterface * Returns sub aggregation. * @param string $name Aggregation name to return. * - * @return AbstractAggregation|BuilderInterface|null + * @return AbstractAggregation|NamedBuilderInterface|null */ public function getAggregation($name) { diff --git a/src/FieldAwareTrait.php b/src/FieldAwareTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..3316e51c66b2a447e332388c2bef1c9b5244ef8e --- /dev/null +++ b/src/FieldAwareTrait.php @@ -0,0 +1,36 @@ +<?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; + +trait FieldAwareTrait +{ + /** + * @var string + */ + private $field; + + /** + * @return mixed + */ + public function getField() + { + return $this->field; + } + + /** + * @param mixed $field + */ + public function setField($field) + { + $this->field = $field; + } +} diff --git a/src/InnerHit/NestedInnerHit.php b/src/InnerHit/NestedInnerHit.php index e04707adb4e04cfadeb3214291264fb5602417f5..e52ca710c1f90b21b5b35c7bc3ff3e0c992f7537 100644 --- a/src/InnerHit/NestedInnerHit.php +++ b/src/InnerHit/NestedInnerHit.php @@ -11,8 +11,8 @@ namespace ONGR\ElasticsearchDSL\InnerHit; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\NameAwareTrait; +use ONGR\ElasticsearchDSL\NamedBuilderInterface; use ONGR\ElasticsearchDSL\ParametersTrait; use ONGR\ElasticsearchDSL\Search; @@ -21,7 +21,7 @@ use ONGR\ElasticsearchDSL\Search; * * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-inner-hits.html */ -class NestedInnerHit implements BuilderInterface +class NestedInnerHit implements NamedBuilderInterface { use ParametersTrait; use NameAwareTrait; diff --git a/src/NamedBuilderInterface.php b/src/NamedBuilderInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..b9df4322e61f98b1a72fd4add71e651cb821c581 --- /dev/null +++ b/src/NamedBuilderInterface.php @@ -0,0 +1,25 @@ +<?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; + +/** + * Interface NamedBuilderInterface. + */ +interface NamedBuilderInterface extends BuilderInterface +{ + /** + * Returns element name. + * + * @return string + */ + public function getName(); +} diff --git a/src/Search.php b/src/Search.php index 1a1b51b96472457ce38e7b77f29504dfd875f229..9d140f20e2125396a145febfc29d88e016603a4b 100644 --- a/src/Search.php +++ b/src/Search.php @@ -412,7 +412,7 @@ class Search * * @return $this */ - public function addSuggest(BuilderInterface $suggest) + public function addSuggest(NamedBuilderInterface $suggest) { $this->getEndpoint(SuggestEndpoint::NAME)->add($suggest, $suggest->getName()); diff --git a/src/Suggest/Suggest.php b/src/Suggest/Suggest.php index f7951308806db011a8ccfa81dd723561303c56d7..5baab7038454f3f0283ad720c454cc41a96defd8 100644 --- a/src/Suggest/Suggest.php +++ b/src/Suggest/Suggest.php @@ -11,11 +11,11 @@ namespace ONGR\ElasticsearchDSL\Suggest; -use ONGR\ElasticsearchDSL\BuilderInterface; +use ONGR\ElasticsearchDSL\NamedBuilderInterface; use ONGR\ElasticsearchDSL\ParametersTrait; use Symfony\Component\Serializer\Exception\InvalidArgumentException; -class Suggest implements BuilderInterface +class Suggest implements NamedBuilderInterface { use ParametersTrait;