Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion buildSrc/src/main/resources/checkstyle_suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -596,7 +596,6 @@
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]PathMapperTests.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]RoutingFieldMapperTests.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]SourceFieldMapperTests.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]TokenCountFieldMapperIntegrationIT.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]UpdateMappingOnClusterIT.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]mapper[/\\]UpdateMappingTests.java" checks="LineLength" />
<suppress files="core[/\\]src[/\\]test[/\\]java[/\\]org[/\\]elasticsearch[/\\]index[/\\]query[/\\]BoolQueryBuilderTests.java" checks="LineLength" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@

import java.io.Reader;

// used for binary and geo fields
abstract class CustomDocValuesField implements IndexableField {
// used for binary, geo and range fields
public abstract class CustomDocValuesField implements IndexableField {

public static final FieldType TYPE = new FieldType();
static {
Expand All @@ -39,7 +39,7 @@ abstract class CustomDocValuesField implements IndexableField {

private final String name;

CustomDocValuesField(String name) {
protected CustomDocValuesField(String name) {
this.name = name;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@
/** A {@link FieldMapper} for numeric types: byte, short, int, long, float and double. */
public class NumberFieldMapper extends FieldMapper {

// this is private since it has a different default
static final Setting<Boolean> COERCE_SETTING =
public static final Setting<Boolean> COERCE_SETTING =
Setting.boolSetting("index.mapping.coerce", true, Property.IndexScope);

public static class Defaults {
Expand Down Expand Up @@ -162,7 +161,7 @@ public Mapper.Builder<?,?> parse(String name, Map<String, Object> node,
public enum NumberType {
HALF_FLOAT("half_float", NumericType.HALF_FLOAT) {
@Override
Float parse(Object value, boolean coerce) {
public Float parse(Object value, boolean coerce) {
final float result;

if (value instanceof Number) {
Expand All @@ -178,20 +177,20 @@ Float parse(Object value, boolean coerce) {
}

@Override
Float parse(XContentParser parser, boolean coerce) throws IOException {
public Float parse(XContentParser parser, boolean coerce) throws IOException {
float parsed = parser.floatValue(coerce);
validateParsed(parsed);
return parsed;
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
float v = parse(value, false);
return HalfFloatPoint.newExactQuery(field, v);
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
float[] v = new float[values.size()];
for (int i = 0; i < values.size(); ++i) {
v[i] = parse(values.get(i), false);
Expand All @@ -200,7 +199,7 @@ Query termsQuery(String field, List<Object> values) {
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
float l = Float.NEGATIVE_INFINITY;
Expand Down Expand Up @@ -254,7 +253,7 @@ private void validateParsed(float value) {
},
FLOAT("float", NumericType.FLOAT) {
@Override
Float parse(Object value, boolean coerce) {
public Float parse(Object value, boolean coerce) {
final float result;

if (value instanceof Number) {
Expand All @@ -270,20 +269,20 @@ Float parse(Object value, boolean coerce) {
}

@Override
Float parse(XContentParser parser, boolean coerce) throws IOException {
public Float parse(XContentParser parser, boolean coerce) throws IOException {
float parsed = parser.floatValue(coerce);
validateParsed(parsed);
return parsed;
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
float v = parse(value, false);
return FloatPoint.newExactQuery(field, v);
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
float[] v = new float[values.size()];
for (int i = 0; i < values.size(); ++i) {
v[i] = parse(values.get(i), false);
Expand All @@ -292,7 +291,7 @@ Query termsQuery(String field, List<Object> values) {
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
float l = Float.NEGATIVE_INFINITY;
Expand Down Expand Up @@ -344,27 +343,27 @@ private void validateParsed(float value) {
},
DOUBLE("double", NumericType.DOUBLE) {
@Override
Double parse(Object value, boolean coerce) {
public Double parse(Object value, boolean coerce) {
double parsed = objectToDouble(value);
validateParsed(parsed);
return parsed;
}

@Override
Double parse(XContentParser parser, boolean coerce) throws IOException {
public Double parse(XContentParser parser, boolean coerce) throws IOException {
double parsed = parser.doubleValue(coerce);
validateParsed(parsed);
return parsed;
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
double v = parse(value, false);
return DoublePoint.newExactQuery(field, v);
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
double[] v = new double[values.size()];
for (int i = 0; i < values.size(); ++i) {
v[i] = parse(values.get(i), false);
Expand All @@ -373,7 +372,7 @@ Query termsQuery(String field, List<Object> values) {
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
double l = Double.NEGATIVE_INFINITY;
Expand Down Expand Up @@ -425,7 +424,7 @@ private void validateParsed(double value) {
},
BYTE("byte", NumericType.BYTE) {
@Override
Byte parse(Object value, boolean coerce) {
public Byte parse(Object value, boolean coerce) {
double doubleValue = objectToDouble(value);

if (doubleValue < Byte.MIN_VALUE || doubleValue > Byte.MAX_VALUE) {
Expand All @@ -443,7 +442,7 @@ Byte parse(Object value, boolean coerce) {
}

@Override
Short parse(XContentParser parser, boolean coerce) throws IOException {
public Short parse(XContentParser parser, boolean coerce) throws IOException {
int value = parser.intValue(coerce);
if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) {
throw new IllegalArgumentException("Value [" + value + "] is out of range for a byte");
Expand All @@ -452,17 +451,17 @@ Short parse(XContentParser parser, boolean coerce) throws IOException {
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
return INTEGER.termQuery(field, value);
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
return INTEGER.termsQuery(field, values);
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
return INTEGER.rangeQuery(field, lowerTerm, upperTerm, includeLower, includeUpper, hasDocValues);
Expand All @@ -481,7 +480,7 @@ Number valueForSearch(Number value) {
},
SHORT("short", NumericType.SHORT) {
@Override
Short parse(Object value, boolean coerce) {
public Short parse(Object value, boolean coerce) {
double doubleValue = objectToDouble(value);

if (doubleValue < Short.MIN_VALUE || doubleValue > Short.MAX_VALUE) {
Expand All @@ -499,22 +498,22 @@ Short parse(Object value, boolean coerce) {
}

@Override
Short parse(XContentParser parser, boolean coerce) throws IOException {
public Short parse(XContentParser parser, boolean coerce) throws IOException {
return parser.shortValue(coerce);
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
return INTEGER.termQuery(field, value);
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
return INTEGER.termsQuery(field, values);
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
return INTEGER.rangeQuery(field, lowerTerm, upperTerm, includeLower, includeUpper, hasDocValues);
Expand All @@ -533,7 +532,7 @@ Number valueForSearch(Number value) {
},
INTEGER("integer", NumericType.INT) {
@Override
Integer parse(Object value, boolean coerce) {
public Integer parse(Object value, boolean coerce) {
double doubleValue = objectToDouble(value);

if (doubleValue < Integer.MIN_VALUE || doubleValue > Integer.MAX_VALUE) {
Expand All @@ -551,12 +550,12 @@ Integer parse(Object value, boolean coerce) {
}

@Override
Integer parse(XContentParser parser, boolean coerce) throws IOException {
public Integer parse(XContentParser parser, boolean coerce) throws IOException {
return parser.intValue(coerce);
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
if (hasDecimalPart(value)) {
return Queries.newMatchNoDocsQuery("Value [" + value + "] has a decimal part");
}
Expand All @@ -565,7 +564,7 @@ Query termQuery(String field, Object value) {
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
int[] v = new int[values.size()];
int upTo = 0;

Expand All @@ -586,7 +585,7 @@ Query termsQuery(String field, List<Object> values) {
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
int l = Integer.MIN_VALUE;
Expand Down Expand Up @@ -644,7 +643,7 @@ public List<Field> createFields(String name, Number value,
},
LONG("long", NumericType.LONG) {
@Override
Long parse(Object value, boolean coerce) {
public Long parse(Object value, boolean coerce) {
if (value instanceof Long) {
return (Long)value;
}
Expand All @@ -665,12 +664,12 @@ Long parse(Object value, boolean coerce) {
}

@Override
Long parse(XContentParser parser, boolean coerce) throws IOException {
public Long parse(XContentParser parser, boolean coerce) throws IOException {
return parser.longValue(coerce);
}

@Override
Query termQuery(String field, Object value) {
public Query termQuery(String field, Object value) {
if (hasDecimalPart(value)) {
return Queries.newMatchNoDocsQuery("Value [" + value + "] has a decimal part");
}
Expand All @@ -679,7 +678,7 @@ Query termQuery(String field, Object value) {
}

@Override
Query termsQuery(String field, List<Object> values) {
public Query termsQuery(String field, List<Object> values) {
long[] v = new long[values.size()];
int upTo = 0;

Expand All @@ -700,7 +699,7 @@ Query termsQuery(String field, List<Object> values) {
}

@Override
Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues) {
long l = Long.MIN_VALUE;
Expand Down Expand Up @@ -773,13 +772,13 @@ public final String typeName() {
final NumericType numericType() {
return numericType;
}
abstract Query termQuery(String field, Object value);
abstract Query termsQuery(String field, List<Object> values);
abstract Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
public abstract Query termQuery(String field, Object value);
public abstract Query termsQuery(String field, List<Object> values);
public abstract Query rangeQuery(String field, Object lowerTerm, Object upperTerm,
boolean includeLower, boolean includeUpper,
boolean hasDocValues);
abstract Number parse(XContentParser parser, boolean coerce) throws IOException;
abstract Number parse(Object value, boolean coerce);
public abstract Number parse(XContentParser parser, boolean coerce) throws IOException;
public abstract Number parse(Object value, boolean coerce);
public abstract List<Field> createFields(String name, Number value, boolean indexed,
boolean docValued, boolean stored);
Number valueForSearch(Number value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import org.elasticsearch.index.mapper.FieldNamesFieldMapper;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.mapper.RangeFieldMapper;
import org.joda.time.DateTimeZone;

import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.mapper.MetadataFieldMapper;
import org.elasticsearch.index.mapper.NumberFieldMapper;
import org.elasticsearch.index.mapper.ScaledFloatFieldMapper;
import org.elasticsearch.index.mapper.TextFieldMapper;
import org.elasticsearch.index.query.QueryShardContext;

Expand All @@ -44,6 +43,7 @@
*/
public final class QueryParserHelper {
// Mapping types the "all-ish" query can be executed against
// TODO: Fix the API so that we don't need a hardcoded list of types
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be possible to have pluggable, yeah.

private static final Set<String> ALLOWED_QUERY_MAPPER_TYPES;

static {
Expand All @@ -54,7 +54,7 @@ public final class QueryParserHelper {
for (NumberFieldMapper.NumberType nt : NumberFieldMapper.NumberType.values()) {
ALLOWED_QUERY_MAPPER_TYPES.add(nt.typeName());
}
ALLOWED_QUERY_MAPPER_TYPES.add(ScaledFloatFieldMapper.CONTENT_TYPE);
ALLOWED_QUERY_MAPPER_TYPES.add("scaled_float");
ALLOWED_QUERY_MAPPER_TYPES.add(TextFieldMapper.CONTENT_TYPE);
}

Expand Down
Loading