diff options
Diffstat (limited to 'vendor/ruflin/elastica/lib/Elastica/Facet')
11 files changed, 0 insertions, 880 deletions
diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php b/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php deleted file mode 100644 index 25cee812..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/AbstractFacet.php +++ /dev/null @@ -1,141 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Param; -use Elastica\Filter\AbstractFilter; -use Elastica\Exception\InvalidException; - -/** - * Abstract facet object. Should be extended by all facet types - * - * @category Xodoa - * @package Elastica - * @author Nicolas Ruflin <spam@ruflin.com> - * @author Jasper van Wanrooy <jasper@vanwanrooy.net> - */ -abstract class AbstractFacet extends Param -{ - /** - * Holds the name of the facet. - * @var string - */ - protected $_name = ''; - - /** - * Holds all facet parameters. - * @var array - */ - protected $_facet = array(); - - /** - * Constructs a Facet object. - * - * @param string $name The name of the facet. - */ - public function __construct($name) - { - $this->setName($name); - } - - /** - * Sets the name of the facet. It is automatically set by - * the constructor. - * - * @param string $name The name of the facet. - * @throws \Elastica\Exception\InvalidException - * @return \Elastica\Facet\AbstractFacet - */ - public function setName($name) - { - if (empty($name)) { - throw new InvalidException('Facet name has to be set'); - } - $this->_name = $name; - - return $this; - } - - /** - * Gets the name of the facet. - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Sets a filter for this facet. - * - * @param \Elastica\Filter\AbstractFilter $filter A filter to apply on the facet. - * @return \Elastica\Facet\AbstractFacet - */ - public function setFilter(AbstractFilter $filter) - { - return $this->_setFacetParam('facet_filter', $filter->toArray()); - } - - /** - * Sets the flag to either run the facet globally or bound to the - * current search query. When not set, it defaults to the - * Elasticsearch default value. - * - * @param bool $global Flag to either run the facet globally. - * @return \Elastica\Facet\AbstractFacet - */ - public function setGlobal($global = true) - { - return $this->_setFacetParam('global', (bool) $global); - } - - /** - * Sets the path to the nested document - * - * @param string $nestedPath Nested path - * @return \Elastica\Facet\AbstractFacet - */ - public function setNested($nestedPath) - { - return $this->_setFacetParam('nested', $nestedPath); - } - - /** - * Sets the scope - * - * @param string $scope Scope - * @return \Elastica\Facet\AbstractFacet - */ - public function setScope($scope) - { - return $this->_setFacetParam('scope', $scope); - } - - /** - * Basic definition of all specs of the facet. Each implementation - * should override this function in order to set it's specific - * settings. - * - * @return array - */ - public function toArray() - { - return $this->_facet; - } - - /** - * Sets a param for the facet. Each facet implementation needs to take - * care of handling their own params. - * - * @param string $key The key of the param to set. - * @param mixed $value The value of the param. - * @return \Elastica\Facet\AbstractFacet - */ - protected function _setFacetParam($key, $value) - { - $this->_facet[$key] = $value; - - return $this; - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php b/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php deleted file mode 100644 index 803f54a3..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/DateHistogram.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -namespace Elastica\Facet; - -/** - * Implements the Date Histogram facet. - * - * @category Xodoa - * @package Elastica - * @author Raul Martinez Jr <juneym@gmail.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/date-histogram-facet.html - * @link https://github.com/elasticsearch/elasticsearch/issues/591 - */ -class DateHistogram extends Histogram -{ - /** - * Set the time_zone parameter - * - * @param string $tzOffset - * @return \Elastica\Facet\DateHistogram - */ - public function setTimezone($tzOffset) - { - return $this->setParam('time_zone', $tzOffset); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @throws \Elastica\Exception\InvalidException When the right fields haven't been set. - * @return array - */ - public function toArray() - { - /** - * Set the range in the abstract as param. - */ - $this->_setFacetParam('date_histogram', $this->_params); - - return $this->_facet; - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php deleted file mode 100644 index ed6f28b7..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Filter.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Filter\AbstractFilter; - -/** - * Filter facet - * - * @category Xodoa - * @package Elastica - * @author Nicolas Ruflin <spam@ruflin.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/filter-facet.html - */ -class Filter extends AbstractFacet -{ - /** - * Set the filter for the facet. - * - * @param \Elastica\Filter\AbstractFilter $filter - * @return \Elastica\Facet\Filter - */ - public function setFilter(AbstractFilter $filter) - { - return $this->_setFacetParam('filter', $filter->toArray()); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php b/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php deleted file mode 100644 index a6f5e9ed..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoCluster.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -namespace Elastica\Facet; - -/** - * Implements the Geo Cluster facet. - * - * @category Xodoa - * @package Elastica - * @author Konstantin Nikiforov <konstantin.nikiforov@gmail.com> - * @link https://github.com/zenobase/geocluster-facet - */ -class GeoCluster extends AbstractFacet { - - /** - * @param string $fieldName - * @return $this - */ - public function setField($fieldName) { - $this->setParam('field', $fieldName); - return $this; - } - - /** - * @param double $factor - * @return $this - */ - public function setFactor($factor){ - $this->setParam('factor', $factor); - return $this; - } - - /** - * @param boolean $showIds - * @return $this - */ - public function setShowIds($showIds) { - $this->setParam('showIds', $showIds); - return $this; - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @throws \Elastica\Exception\InvalidException When the right fields haven't been set. - * @return array - */ - public function toArray(){ - $this->_setFacetParam ('geo_cluster', $this->_params); - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php b/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php deleted file mode 100644 index 35537986..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/GeoDistance.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -namespace Elastica\Facet; - -/** - * Implements the Geo Distance facet. - * - * @category Xodoa - * @package Elastica - * @author Gerard A. Matthew <gerard.matthew@gmail.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/geo-distance-facet.html - */ -class GeoDistance extends AbstractFacet -{ - /** - * Sets the ranges for the facet all at once. - * Sample ranges: - * array ( - * array('to' => 50), - * array('from' => 20, 'to' => 70), - * array('from' => 70, 'to' => 120), - * array('from' => 150) - * ) - * - * @param array $ranges Numerical array with range definitions. - * @return \Elastica\Facet\GeoDistance - */ - public function setRanges(array $ranges) - { - return $this->setParam('ranges', $ranges); - } - - /** - * Set the relative GeoPoint for the facet. - * - * @param string $typeField index type and field e.g foo.bar - * @param float $latitude - * @param float $longitude - * @return \Elastica\Facet\GeoDistance - */ - public function setGeoPoint($typeField, $latitude, $longitude) - { - return $this->setParam($typeField, array( - "lat" => $latitude, - "lon" => $longitude, - )); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @throws \Elastica\Exception\InvalidException When the right fields haven't been set. - * @return array - */ - public function toArray() - { - /** - * Set the geo_distance in the abstract as param. - */ - $this->_setFacetParam ('geo_distance', $this->_params); - - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php deleted file mode 100644 index 68be6757..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Histogram.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -namespace Elastica\Facet; - -/** - * Implements the Histogram facet. - * - * @category Xodoa - * @package Elastica - * @author Raul Martinez Jr <juneym@gmail.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/histogram-facet.html - */ -class Histogram extends AbstractFacet -{ - /** - * Sets the field for histogram - * - * @param string $field The name of the field for the histogram - * @return \Elastica\Facet\Histogram - */ - public function setField($field) - { - return $this->setParam('field', $field); - } - - /** - * Set the value for interval - * - * @param string $interval - * @return \Elastica\Facet\Histogram - */ - public function setInterval($interval) - { - return $this->setParam('interval', $interval); - } - - /** - * Set the fields for key_field and value_field - * - * @param string $keyField Key field - * @param string $valueField Value field - * @return \Elastica\Facet\Histogram - */ - public function setKeyValueFields($keyField, $valueField) - { - return $this->setParam('key_field', $keyField)->setParam('value_field', $valueField); - } - - /** - * Sets the key and value for this facet by script. - * - * @param string $keyScript Script to check whether it falls into the range. - * @param string $valueScript Script to use for statistical calculations. - * @return \Elastica\Facet\Histogram - */ - public function setKeyValueScripts($keyScript, $valueScript) - { - return $this->setParam('key_script', $keyScript) - ->setParam('value_script', $valueScript); - } - - /** - * Set the "params" essential to the a script - * - * @param array $params Associative array (key/value pair) - * @return \Elastica\Facet\Histogram - */ - public function setScriptParams(array $params) - { - return $this->setParam('params', $params); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @throws \Elastica\Exception\InvalidException When the right fields haven't been set. - * @return array - */ - public function toArray() - { - /** - * Set the range in the abstract as param. - */ - $this->_setFacetParam('histogram', $this->_params); - - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php deleted file mode 100644 index d43a2375..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Query.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Query\AbstractQuery; - -/** - * Query facet - * - * @category Xodoa - * @package Elastica - * @author Nicolas Ruflin <spam@ruflin.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/query-facet.html - */ -class Query extends AbstractFacet -{ - /** - * Set the query for the facet. - * - * @param \Elastica\Query\AbstractQuery $query - * @return \Elastica\Facet\Query - */ - public function setQuery(AbstractQuery $query) - { - return $this->_setFacetParam('query', $query->toArray()); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php deleted file mode 100644 index 194f611a..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Range.php +++ /dev/null @@ -1,138 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Exception\InvalidException; - -/** - * Implements the range facet. - * - * @category Xodoa - * @package Elastica - * @author Jasper van Wanrooy <jasper@vanwanrooy.net> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/range-facet.html - */ -class Range extends AbstractFacet -{ - /** - * Sets the field for the range. - * - * @param string $field The name of the field for range. - * @return \Elastica\Facet\Range - */ - public function setField($field) - { - return $this->setParam('field', $field); - } - - /** - * Sets the fields by their separate key and value fields. - * - * @param string $keyField The key_field param for the range. - * @param string $valueField The key_value param for the range. - * @return \Elastica\Facet\Range - */ - public function setKeyValueFields($keyField, $valueField) - { - return $this->setParam('key_field', $keyField) - ->setParam('value_field', $valueField); - } - - /** - * Sets the key and value for this facet by script. - * - * @param string $keyScript Script to check whether it falls into the range. - * @param string $valueScript Script to use for statistical calculations. - * - * @return \Elastica\Facet\Range - */ - public function setKeyValueScripts($keyScript, $valueScript) - { - return $this->setParam('key_script', $keyScript) - ->setParam('value_script', $valueScript); - } - - /** - * Sets the ranges for the facet all at once. Sample ranges: - * array ( - * array('to' => 50), - * array('from' => 20, 'to' 70), - * array('from' => 70, 'to' => 120), - * array('from' => 150) - * ) - * - * @param array $ranges Numerical array with range definitions. - * @return \Elastica\Facet\Range - */ - public function setRanges(array $ranges) - { - return $this->setParam('ranges', $ranges); - } - - /** - * Adds a range to the range facet. - * - * @param mixed $from The from for the range. - * @param mixed $to The to for the range. - * @return \Elastica\Facet\Range - */ - public function addRange($from = null, $to = null) - { - if (!isset($this->_params['ranges']) || !is_array($this->_params['ranges'])) { - $this->_params['ranges'] = array(); - } - - $range = array(); - if (isset($from)) { - $range['from'] = $from; - } - if (isset($to)) { - $range['to'] = $to; - } - $this->_params['ranges'][] = $range; - - return $this; - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @throws \Elastica\Exception\InvalidException When the right fields haven't been set. - * @return array - */ - public function toArray() - { - /** - * Check the facet for validity. - * There are three ways to set the key and value field for the range: - * - a single field for both key and value; or - * - separate fields for key and value; or - * - separate scripts for key and value. - */ - $fieldTypesSet = 0; - if (isset($this->_params['field'])) { - $fieldTypesSet++; - } - if (isset($this->_params['key_field'])) { - $fieldTypesSet++; - } - if (isset($this->_params['key_script'])) { - $fieldTypesSet++; - } - - if ($fieldTypesSet === 0) { - throw new InvalidException('Neither field, key_field nor key_script is set.'); - } elseif ($fieldTypesSet > 1) { - throw new InvalidException('Either field, key_field and key_value or key_script and value_script should be set.'); - } - - /** - * Set the range in the abstract as param. - */ - $this->_setFacetParam('range', $this->_params); - - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php deleted file mode 100644 index 71507b8f..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Statistical.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php - -namespace Elastica\Facet; - -/** - * Implements the statistical facet. - * - * @category Xodoa - * @package Elastica - * @author Robert Katzki <robert@katzki.de> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/statistical-facet.html - */ -class Statistical extends AbstractFacet -{ - /** - * Sets the field for the statistical query. - * - * @param string $field The field name for the statistical query. - * @return \Elastica\Facet\Statistical - */ - public function setField($field) - { - return $this->setParam('field', $field); - } - - /** - * Sets multiple fields for the statistical query. - * - * @param array $fields Numerical array with the fields for the statistical query. - * @return \Elastica\Facet\Statistical - */ - public function setFields(array $fields) - { - return $this->setParam('fields', $fields); - } - - /** - * Sets a script to calculate statistical information - * - * @param string $script The script to do calculations on the statistical values - * @return \Elastica\Facet\Statistical - */ - public function setScript($script) - { - return $this->setParam('script', $script); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @return array - */ - public function toArray() - { - $this->_setFacetParam('statistical', $this->_params); - - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php b/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php deleted file mode 100644 index c1dab800..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/Terms.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Exception\InvalidException; -use Elastica\Script; - -/** - * Implements the terms facet. - * - * @category Xodoa - * @package Elastica - * @author Nicolas Ruflin <spam@ruflin.com> - * @author Jasper van Wanrooy <jasper@vanwanrooy.net> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/terms-facet.html - */ -class Terms extends AbstractFacet -{ - /** - * Holds the types of ordering which are allowed - * by Elasticsearch. - * - * @var array - */ - protected $_orderTypes = array('count', 'term', 'reverse_count', 'reverse_term'); - - /** - * Sets the field for the terms. - * - * @param string $field The field name for the terms. - * @return \Elastica\Facet\Terms - */ - public function setField($field) - { - return $this->setParam('field', $field); - } - - /** - * Sets the script for the term. - * - * @param string $script The script for the term. - * @return \Elastica\Facet\Terms - */ - public function setScript($script) - { - $script = Script::create($script); - foreach ($script->toArray() as $param => $value) { - $this->setParam($param, $value); - } - - return $this; - } - - /** - * Sets multiple fields for the terms. - * - * @param array $fields Numerical array with the fields for the terms. - * @return \Elastica\Facet\Terms - */ - public function setFields(array $fields) - { - return $this->setParam('fields', $fields); - } - - /** - * Sets the flag to return all available terms. When they - * don't have a hit, they have a count of zero. - * - * @param bool $allTerms Flag to fetch all terms. - * @return \Elastica\Facet\Terms - */ - public function setAllTerms($allTerms) - { - return $this->setParam('all_terms', (bool) $allTerms); - } - - /** - * Sets the ordering type for this facet. Elasticsearch - * internal default is count. - * - * @param string $type The order type to set use for sorting of the terms. - * @throws \Elastica\Exception\InvalidException When an invalid order type was set. - * @return \Elastica\Facet\Terms - */ - public function setOrder($type) - { - if (!in_array($type, $this->_orderTypes)) { - throw new InvalidException('Invalid order type: ' . $type); - } - - return $this->setParam('order', $type); - } - - /** - * Set an array with terms which are omitted in the search. - * - * @param array $exclude Numerical array which includes all terms which needs to be ignored. - * @return \Elastica\Facet\Terms - */ - public function setExclude(array $exclude) - { - return $this->setParam('exclude', $exclude); - } - - /** - * Sets the amount of terms to be returned. - * - * @param int $size The amount of terms to be returned. - * @return \Elastica\Facet\Terms - */ - public function setSize($size) - { - return $this->setParam('size', (int) $size); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @return array - */ - public function toArray() - { - $this->_setFacetParam('terms', $this->_params); - - return parent::toArray(); - } -} diff --git a/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php b/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php deleted file mode 100644 index 61c6b39e..00000000 --- a/vendor/ruflin/elastica/lib/Elastica/Facet/TermsStats.php +++ /dev/null @@ -1,103 +0,0 @@ -<?php - -namespace Elastica\Facet; - -use Elastica\Exception\InvalidException; - -/** - * Implements the statistical facet on a per term basis. - * - * @category Xodoa - * @package Elastica - * @author Tom Michaelis <tom.michaelis@gmail.com> - * @link http://www.elasticsearch.org/guide/reference/api/search/facets/terms-stats-facet.html - */ -class TermsStats extends AbstractFacet -{ - - /** - * Holds the types of ordering which are allowed - * by Elasticsearch. - * - * @var array - */ - protected $_orderTypes = array('term', 'reverse_term', 'count', 'reverse_count', - 'total', 'reverse_total', 'min', 'reverse_min', 'max', 'reverse_max', 'mean', - 'reverse_mean'); - - /** - * Sets the key field for the query. - * - * @param string $keyField The key field name for the query. - * @return \Elastica\Facet\TermsStats - */ - public function setKeyField( $keyField ) - { - return $this->setParam( 'key_field', $keyField ); - } - - /** - * Sets a script to calculate statistical information on a per term basis - * - * @param string $valueScript The script to do calculations on the statistical values - * @return \Elastica\Facet\TermsStats - */ - public function setValueScript( $valueScript ) - { - return $this->setParam( 'value_script', $valueScript ); - } - - /** - * Sets the ordering type for this facet. Elasticsearch - * internal default is count. - * - * @param string $type The order type to set use for sorting of the terms. - * @throws \Elastica\Exception\InvalidException When an invalid order type was set. - * @return \Elastica\Facet\TermsStats - */ - public function setOrder($type) - { - if (!in_array($type, $this->_orderTypes)) { - throw new InvalidException('Invalid order type: ' . $type); - } - - return $this->setParam('order', $type); - } - - /** - * Sets a field to compute basic statistical results on - * - * @param string $valueField The field to compute statistical values for - * @return \Elastica\Facet\TermsStats - */ - public function setValueField( $valueField ) - { - return $this->setParam( 'value_field', $valueField ); - } - - /** - * Sets the amount of terms to be returned. - * - * @param int $size The amount of terms to be returned. - * @return \Elastica\Facet\Terms - */ - public function setSize($size) - { - return $this->setParam('size', (int) $size); - } - - /** - * Creates the full facet definition, which includes the basic - * facet definition of the parent. - * - * @see \Elastica\Facet\AbstractFacet::toArray() - * @return array - */ - public function toArray() - { - $this->_setFacetParam( 'terms_stats', $this->_params ); - - return parent::toArray(); - } - -} |