Skip to content

Commit

Permalink
Merge pull request #1031 from ewgRa/filters-deprecated
Browse files Browse the repository at this point in the history
Filters deprecated
  • Loading branch information
ruflin committed Jan 17, 2016
2 parents 230f00e + c300a49 commit a8b0b6b
Show file tree
Hide file tree
Showing 130 changed files with 4,562 additions and 184 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file based on the

### Backward Compatibility Breaks
- Update Guzzle transport to use Guzzle 6
- Elastica\Query\FunctionScore::setFilter - deprecated and will throw DeprecatedException since not supported by Elasticsearch. Use setQuery instead.

### Bugfixes

Expand All @@ -17,7 +18,7 @@ All notable changes to this project will be documented in this file based on the

### Deprecated
- Elastica\AbstractScript|Script|ScriptFile|ScriptFields deprecated in favor of Elastica\Script|AbstractScript|Script|ScriptFile|ScriptFields [#1028](https://github.com/ruflin/Elastica/pull/1028)

- Elastica\Filter\* are deprecated. You can use proper queries instead. Backward compatibility layer provided, but will be removed in next Elastica releases. See https://www.elastic.co/blog/better-query-execution-coming-elasticsearch-2-0 and https://github.com/ruflin/Elastica/issues/1001

## [3.0.1](https://github.com/ruflin/Elastica/compare/3.0.0...3.0.1)

Expand Down
21 changes: 17 additions & 4 deletions lib/Elastica/Aggregation/Filter.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

use Elastica\Exception\InvalidException;
use Elastica\Filter\AbstractFilter;
use Elastica\Query\AbstractQuery;

/**
* Class Filter.
Expand All @@ -13,26 +14,38 @@ class Filter extends AbstractAggregation
{
/**
* @param string $name
* @param AbstractFilter $filter
* @param AbstractQuery $filter
*/
public function __construct($name, AbstractFilter $filter = null)
public function __construct($name, $filter = null)
{
parent::__construct($name);

if ($filter !== null) {
if ($filter instanceof AbstractFilter) {
trigger_error('Deprecated: Elastica\Aggregation\Filter passing filter as AbstractFilter is deprecated. Pass instance of AbstractQuery instead.', E_USER_DEPRECATED);
} elseif (!($filter instanceof AbstractQuery)) {
throw new InvalidException('Filter must be instance of AbstractQuery');
}

$this->setFilter($filter);
}
}

/**
* Set the filter for this aggregation.
*
* @param AbstractFilter $filter
* @param AbstractQuery $filter
*
* @return $this
*/
public function setFilter(AbstractFilter $filter)
public function setFilter($filter)
{
if ($filter instanceof AbstractFilter) {
trigger_error('Deprecated: Elastica\Aggregation\Filter\setFilter() passing filter as AbstractFilter is deprecated. Pass instance of AbstractQuery instead.', E_USER_DEPRECATED);
} elseif (!($filter instanceof AbstractQuery)) {
throw new InvalidException('Filter must be instance of AbstractQuery');
}

return $this->setParam('filter', $filter);
}

Expand Down
11 changes: 9 additions & 2 deletions lib/Elastica/Aggregation/Filters.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

use Elastica\Exception\InvalidException;
use Elastica\Filter\AbstractFilter;
use Elastica\Query\AbstractQuery;

/**
* Class Filters.
Expand All @@ -24,13 +25,19 @@ class Filters extends AbstractAggregation
*
* If a name is given, it will be added as a key, otherwise considered as an anonymous filter
*
* @param AbstractFilter $filter
* @param AbstractQuery $filter
* @param string $name
*
* @return $this
*/
public function addFilter(AbstractFilter $filter, $name = null)
public function addFilter($filter, $name = null)
{
if ($filter instanceof AbstractFilter) {
trigger_error('Deprecated: Elastica\Aggregation\Filters\addFilter() passing filter as AbstractFilter is deprecated. Pass instance of AbstractQuery instead.', E_USER_DEPRECATED);
} elseif (!($filter instanceof AbstractQuery)) {
throw new InvalidException('Filter must be instance of AbstractQuery');
}

if (null !== $name && !is_string($name)) {
throw new InvalidException('Name must be a string');
}
Expand Down
12 changes: 10 additions & 2 deletions lib/Elastica/Aggregation/SignificantTerms.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?php
namespace Elastica\Aggregation;

use Elastica\Exception\InvalidException;
use Elastica\Filter\AbstractFilter;
use Elastica\Query\AbstractQuery;

/**
* Class SignificantTerms.
Expand All @@ -14,14 +16,20 @@ class SignificantTerms extends AbstractTermsAggregation
* The default source of statistical information for background term frequencies is the entire index and this scope can
* be narrowed through the use of a background_filter to focus in on significant terms within a narrower context.
*
* @param AbstractFilter $filter
* @param AbstractQuery $filter
*
* @return $this
*
* @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html#_custom_background_context
*/
public function setBackgroundFilter(AbstractFilter $filter)
public function setBackgroundFilter($filter)
{
if ($filter instanceof AbstractFilter) {
trigger_error('Deprecated: Elastica\Aggregation\SignificantTerms::setBackgroundFilter passing filter as AbstractFilter is deprecated. Pass instance of AbstractQuery instead.', E_USER_DEPRECATED);
} elseif (!($filter instanceof AbstractQuery)) {
throw new InvalidException('Filter must be instance of AbstractQuery');
}

return $this->setParam('background_filter', $filter);
}
}
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/AbstractFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@
use Elastica\Exception\InvalidException;
use Elastica\Param;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Abstract filter object. Should be extended by all filter types.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filters.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
abstract class AbstractFilter extends Param
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/AbstractGeoDistance.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@

use Elastica\Exception\InvalidException;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Geo distance filter.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-distance-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
abstract class AbstractGeoDistance extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/AbstractGeoShape.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* geo_shape filter.
*
Expand All @@ -9,6 +11,8 @@
* @author Bennie Krijger <benniekrijger@gmail.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
abstract class AbstractGeoShape extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/AbstractMulti.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Multi Abstract filter object. Should be extended by filter types composed of an array of sub filters.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
abstract class AbstractMulti extends AbstractFilter
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Elastica/Filter/Bool.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
namespace Elastica\Filter;

trigger_error('Use BoolFilter instead. From PHP7 bool is reserved word and this class will be removed in further Elastica releases', E_USER_DEPRECATED);
trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Bool Filter.
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/BoolAnd.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use BoolQuery::addMust. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* And Filter.
*
* @author Lee Parker, Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-and-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class BoolAnd extends AbstractMulti
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/BoolFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@

use Elastica\Exception\InvalidException;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Bool Filter.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class BoolFilter extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/BoolNot.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use BoolQuery::addMustNot. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Not Filter.
*
* @author Lee Parker, Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-not-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class BoolNot extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/BoolOr.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use BoolQuery::addShould. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Or Filter.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-or-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class BoolOr extends AbstractMulti
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/Exists.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Exists query.
*
* @author Oleg Cherniy <oleg.cherniy@gmail.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class Exists extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoBoundingBox.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@

use Elastica\Exception\InvalidException;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Geo bounding box filter.
*
* @author Fabian Vogler <fabian@equivalence.ch>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-bounding-box-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoBoundingBox extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoDistance.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Geo distance filter.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-distance-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoDistance extends AbstractGeoDistance
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoDistanceRange.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@

use Elastica\Exception\InvalidException;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Geo distance filter.
*
* @author munkie
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-distance-range-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoDistanceRange extends AbstractGeoDistance
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoPolygon.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* Geo polygon filter.
*
* @author Michael Maclean <mgdm@php.net>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-polygon-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoPolygon extends AbstractFilter
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoShapePreIndexed.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* geo_shape filter for pre-indexed shapes.
*
Expand All @@ -9,6 +11,8 @@
* @author Bennie Krijger <benniekrijger@gmail.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoShapePreIndexed extends AbstractGeoShape
{
Expand Down
4 changes: 4 additions & 0 deletions lib/Elastica/Filter/GeoShapeProvided.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
namespace Elastica\Filter;

trigger_error('Deprecated: Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html', E_USER_DEPRECATED);

/**
* geo_shape filter or provided shapes.
*
Expand All @@ -9,6 +11,8 @@
* @author BennieKrijger <benniekrijger@gmail.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-filter.html
*
* @deprecated Filters are deprecated. Use queries in filter context. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/query-dsl-filters.html
*/
class GeoShapeProvided extends AbstractGeoShape
{
Expand Down
Loading

0 comments on commit a8b0b6b

Please sign in to comment.