diff --git a/src/main/java/org/elasticsearch/index/query/FilterBuilders.java b/src/main/java/org/elasticsearch/index/query/FilterBuilders.java
index 79a7ba6278d..b2a4fbe98cb 100644
--- a/src/main/java/org/elasticsearch/index/query/FilterBuilders.java
+++ b/src/main/java/org/elasticsearch/index/query/FilterBuilders.java
@@ -296,19 +296,6 @@ public abstract class FilterBuilders {
return new RangeFilterBuilder(name);
}
- /**
- * A filter that restricts search results to values that are within the given numeric range. Uses the
- * field data cache (loading all the values for the specified field into memory)
- *
- * @param name The field name
- * @deprecated The numeric_range filter will be removed at some point in time in favor for the range filter with
- * the execution mode fielddata
.
- */
- @Deprecated
- public static NumericRangeFilterBuilder numericRangeFilter(String name) {
- return new NumericRangeFilterBuilder(name);
- }
-
/**
* A filter that simply wraps a query.
*
diff --git a/src/main/java/org/elasticsearch/index/query/NumericRangeFilterBuilder.java b/src/main/java/org/elasticsearch/index/query/NumericRangeFilterBuilder.java
deleted file mode 100644
index c29bc659053..00000000000
--- a/src/main/java/org/elasticsearch/index/query/NumericRangeFilterBuilder.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.elasticsearch.index.query;
-
-import org.elasticsearch.common.xcontent.XContentBuilder;
-
-import java.io.IOException;
-
-/**
- * A filter that restricts search results to values that are within the given numeric range.
- *
Uses the field data cache (loading all the values for the specified field into memory).
- *
- * @deprecated This filter will be removed at some point in time in favor for the range filter with the execution
- * mode fielddata
.
- */
-@Deprecated
-public class NumericRangeFilterBuilder extends BaseFilterBuilder {
-
- private final String name;
-
- private Object from;
-
- private Object to;
-
- private boolean includeLower = true;
-
- private boolean includeUpper = true;
-
- private Boolean cache;
- private String cacheKey;
-
- private String filterName;
-
- /**
- * A filter that restricts search results to values that are within the given range.
- *
- * @param name The field name
- */
- public NumericRangeFilterBuilder(String name) {
- this.name = name;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder from(Object from) {
- this.from = from;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder from(int from) {
- this.from = from;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder from(long from) {
- this.from = from;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder from(float from) {
- this.from = from;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder from(double from) {
- this.from = from;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gt(Object from) {
- this.from = from;
- this.includeLower = false;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gt(int from) {
- this.from = from;
- this.includeLower = false;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gt(long from) {
- this.from = from;
- this.includeLower = false;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gt(float from) {
- this.from = from;
- this.includeLower = false;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gt(double from) {
- this.from = from;
- this.includeLower = false;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gte(Object from) {
- this.from = from;
- this.includeLower = true;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gte(int from) {
- this.from = from;
- this.includeLower = true;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gte(long from) {
- this.from = from;
- this.includeLower = true;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gte(float from) {
- this.from = from;
- this.includeLower = true;
- return this;
- }
-
- /**
- * The from part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder gte(double from) {
- this.from = from;
- this.includeLower = true;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder to(Object to) {
- this.to = to;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder to(int to) {
- this.to = to;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder to(long to) {
- this.to = to;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder to(float to) {
- this.to = to;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder to(double to) {
- this.to = to;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lt(Object to) {
- this.to = to;
- this.includeUpper = false;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lt(int to) {
- this.to = to;
- this.includeUpper = false;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lt(long to) {
- this.to = to;
- this.includeUpper = false;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lt(float to) {
- this.to = to;
- this.includeUpper = false;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lt(double to) {
- this.to = to;
- this.includeUpper = false;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lte(Object to) {
- this.to = to;
- this.includeUpper = true;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lte(int to) {
- this.to = to;
- this.includeUpper = true;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lte(long to) {
- this.to = to;
- this.includeUpper = true;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lte(float to) {
- this.to = to;
- this.includeUpper = true;
- return this;
- }
-
- /**
- * The to part of the filter query. Null indicates unbounded.
- */
- public NumericRangeFilterBuilder lte(double to) {
- this.to = to;
- this.includeUpper = true;
- return this;
- }
-
- /**
- * Should the lower bound be included or not. Defaults to true.
- */
- public NumericRangeFilterBuilder includeLower(boolean includeLower) {
- this.includeLower = includeLower;
- return this;
- }
-
- /**
- * Should the upper bound be included or not. Defaults to true.
- */
- public NumericRangeFilterBuilder includeUpper(boolean includeUpper) {
- this.includeUpper = includeUpper;
- return this;
- }
-
- /**
- * Sets the filter name for the filter that can be used when searching for matched_filters per hit.
- */
- public NumericRangeFilterBuilder filterName(String filterName) {
- this.filterName = filterName;
- return this;
- }
-
- /**
- * Should the filter be cached or not. Defaults to false.
- */
- public NumericRangeFilterBuilder cache(boolean cache) {
- this.cache = cache;
- return this;
- }
-
- public NumericRangeFilterBuilder cacheKey(String cacheKey) {
- this.cacheKey = cacheKey;
- return this;
- }
-
- @Override
- protected void doXContent(XContentBuilder builder, Params params) throws IOException {
- builder.startObject(NumericRangeFilterParser.NAME);
-
- builder.startObject(name);
- builder.field("from", from);
- builder.field("to", to);
- builder.field("include_lower", includeLower);
- builder.field("include_upper", includeUpper);
- builder.endObject();
-
- if (filterName != null) {
- builder.field("_name", filterName);
- }
- if (cache != null) {
- builder.field("_cache", cache);
- }
- if (cacheKey != null) {
- builder.field("_cache_key", cacheKey);
- }
-
- builder.endObject();
- }
-}
\ No newline at end of file
diff --git a/src/main/java/org/elasticsearch/index/query/NumericRangeFilterParser.java b/src/main/java/org/elasticsearch/index/query/NumericRangeFilterParser.java
deleted file mode 100644
index 4df72aa1976..00000000000
--- a/src/main/java/org/elasticsearch/index/query/NumericRangeFilterParser.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.elasticsearch.index.query;
-
-import org.apache.lucene.search.Filter;
-import org.elasticsearch.common.inject.Inject;
-import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.cache.filter.support.CacheKeyFilter;
-import org.elasticsearch.index.mapper.FieldMapper;
-import org.elasticsearch.index.mapper.MapperService;
-import org.elasticsearch.index.mapper.core.NumberFieldMapper;
-
-import java.io.IOException;
-
-import static org.elasticsearch.index.query.support.QueryParsers.wrapSmartNameFilter;
-
-/**
- *
- */
-@Deprecated
-public class NumericRangeFilterParser implements FilterParser {
-
- public static final String NAME = "numeric_range";
-
- @Inject
- public NumericRangeFilterParser() {
- }
-
- @Override
- public String[] names() {
- return new String[]{NAME, "numericRange"};
- }
-
- @Override
- public Filter parse(QueryParseContext parseContext) throws IOException, QueryParsingException {
- XContentParser parser = parseContext.parser();
-
- boolean cache = false; // default to false, since its using fielddata cache
- CacheKeyFilter.Key cacheKey = null;
- String fieldName = null;
- String from = null;
- String to = null;
- boolean includeLower = true;
- boolean includeUpper = true;
-
- String filterName = null;
- String currentFieldName = null;
- XContentParser.Token token;
- while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
- if (token == XContentParser.Token.FIELD_NAME) {
- currentFieldName = parser.currentName();
- } else if (token == XContentParser.Token.START_OBJECT) {
- fieldName = currentFieldName;
- while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
- if (token == XContentParser.Token.FIELD_NAME) {
- currentFieldName = parser.currentName();
- } else {
- if ("from".equals(currentFieldName)) {
- from = parser.textOrNull();
- } else if ("to".equals(currentFieldName)) {
- to = parser.textOrNull();
- } else if ("include_lower".equals(currentFieldName) || "includeLower".equals(currentFieldName)) {
- includeLower = parser.booleanValue();
- } else if ("include_upper".equals(currentFieldName) || "includeUpper".equals(currentFieldName)) {
- includeUpper = parser.booleanValue();
- } else if ("gt".equals(currentFieldName)) {
- from = parser.textOrNull();
- includeLower = false;
- } else if ("gte".equals(currentFieldName) || "ge".equals(currentFieldName)) {
- from = parser.textOrNull();
- includeLower = true;
- } else if ("lt".equals(currentFieldName)) {
- to = parser.textOrNull();
- includeUpper = false;
- } else if ("lte".equals(currentFieldName) || "le".equals(currentFieldName)) {
- to = parser.textOrNull();
- includeUpper = true;
- } else {
- throw new QueryParsingException(parseContext.index(), "[numeric_range] filter does not support [" + currentFieldName + "]");
- }
- }
- }
- } else if (token.isValue()) {
- if ("_name".equals(currentFieldName)) {
- filterName = parser.text();
- } else if ("_cache".equals(currentFieldName)) {
- cache = parser.booleanValue();
- } else if ("_cache_key".equals(currentFieldName) || "_cacheKey".equals(currentFieldName)) {
- cacheKey = new CacheKeyFilter.Key(parser.text());
- } else {
- throw new QueryParsingException(parseContext.index(), "[numeric_range] filter does not support [" + currentFieldName + "]");
- }
- }
- }
-
- MapperService.SmartNameFieldMappers smartNameFieldMappers = parseContext.smartFieldMappers(fieldName);
-
- if (smartNameFieldMappers == null || !smartNameFieldMappers.hasMapper()) {
- throw new QueryParsingException(parseContext.index(), "failed to find mapping for field [" + fieldName + "]");
- }
-
- FieldMapper mapper = smartNameFieldMappers.mapper();
- if (!(mapper instanceof NumberFieldMapper)) {
- throw new QueryParsingException(parseContext.index(), "Field [" + fieldName + "] is not a numeric type");
- }
- Filter filter = ((NumberFieldMapper) mapper).rangeFilter(parseContext, from, to, includeLower, includeUpper, parseContext);
-
- if (cache) {
- filter = parseContext.cacheFilter(filter, cacheKey);
- }
- filter = wrapSmartNameFilter(filter, smartNameFieldMappers, parseContext);
- if (filterName != null) {
- parseContext.addNamedFilter(filterName, filter);
- }
- return filter;
- }
-}
diff --git a/src/main/java/org/elasticsearch/indices/query/IndicesQueriesModule.java b/src/main/java/org/elasticsearch/indices/query/IndicesQueriesModule.java
index 44a9474669a..069dedc7290 100644
--- a/src/main/java/org/elasticsearch/indices/query/IndicesQueriesModule.java
+++ b/src/main/java/org/elasticsearch/indices/query/IndicesQueriesModule.java
@@ -125,7 +125,6 @@ public class IndicesQueriesModule extends AbstractModule {
fpBinders.addBinding().to(TermFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(TermsFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(RangeFilterParser.class).asEagerSingleton();
- fpBinders.addBinding().to(NumericRangeFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(PrefixFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(RegexpFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(ScriptFilterParser.class).asEagerSingleton();
@@ -149,4 +148,4 @@ public class IndicesQueriesModule extends AbstractModule {
fpBinders.addBinding().to(IndicesFilterParser.class).asEagerSingleton();
fpBinders.addBinding().to(WrapperFilterParser.class).asEagerSingleton();
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/org/elasticsearch/index/query/SimpleIndexQueryParserTests.java b/src/test/java/org/elasticsearch/index/query/SimpleIndexQueryParserTests.java
index 6655943b3f3..fa6da71a6db 100644
--- a/src/test/java/org/elasticsearch/index/query/SimpleIndexQueryParserTests.java
+++ b/src/test/java/org/elasticsearch/index/query/SimpleIndexQueryParserTests.java
@@ -756,21 +756,6 @@ public class SimpleIndexQueryParserTests extends ElasticsearchSingleNodeTest {
assertThat(rangeFilter.includesMax(), equalTo(false));
}
- @Test
- public void testNumericRangeFilteredQueryBuilder() throws IOException {
- IndexQueryParserService queryParser = queryParser();
- Query parsedQuery = queryParser.parse(filteredQuery(termQuery("name.first", "shay"), numericRangeFilter("age").from(23).to(54).includeLower(true).includeUpper(false))).query();
- assertThat(parsedQuery, instanceOf(XFilteredQuery.class));
- Filter filter = ((XFilteredQuery) parsedQuery).getFilter();
- assertThat(filter, instanceOf(NumericRangeFieldDataFilter.class));
- NumericRangeFieldDataFilter