|
@@ -139,76 +139,116 @@ public class NumberFieldTypeTests extends FieldTypeTestCase {
|
|
|
MappedFieldType ftInt = new NumberFieldMapper.NumberFieldType(NumberType.INTEGER);
|
|
|
ftInt.setName("field");
|
|
|
ftInt.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ftInt.rangeQuery(-3, -3, true, true, null), ftInt.rangeQuery(-3.5, -2.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(-3, -3, true, true, null), ftInt.rangeQuery(-3.5, -2.5, false, false, null));
|
|
|
- assertEquals(ftInt.rangeQuery(0, 0, true, true, null), ftInt.rangeQuery(-0.5, 0.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(0, 0, true, true, null), ftInt.rangeQuery(-0.5, 0.5, false, false, null));
|
|
|
- assertEquals(ftInt.rangeQuery(1, 2, true, true, null), ftInt.rangeQuery(0.5, 2.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(1, 2, true, true, null), ftInt.rangeQuery(0.5, 2.5, false, false, null));
|
|
|
- assertEquals(ftInt.rangeQuery(0, 2, true, true, null), ftInt.rangeQuery(-0.5, 2.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(0, 2, true, true, null), ftInt.rangeQuery(-0.5, 2.5, false, false, null));
|
|
|
-
|
|
|
- assertEquals(ftInt.rangeQuery(-2, 0, true, true, null), ftInt.rangeQuery(-2.5, 0.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(-2, 0, true, true, null), ftInt.rangeQuery(-2.5, 0.5, false, false, null));
|
|
|
- assertEquals(ftInt.rangeQuery(-2, -1, true, true, null), ftInt.rangeQuery(-2.5, -0.5, true, true, null));
|
|
|
- assertEquals(ftInt.rangeQuery(-2, -1, true, true, null), ftInt.rangeQuery(-2.5, -0.5, false, false, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(-3, -3, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-3.5, -2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(-3, -3, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-3.5, -2.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(0, 0, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-0.5, 0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(0, 0, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-0.5, 0.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(1, 2, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(0.5, 2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(1, 2, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(0.5, 2.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(0, 2, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-0.5, 2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(0, 2, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-0.5, 2.5, false, false, null, null, null, null));
|
|
|
+
|
|
|
+ assertEquals(ftInt.rangeQuery(-2, 0, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-2.5, 0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(-2, 0, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-2.5, 0.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(-2, -1, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-2.5, -0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftInt.rangeQuery(-2, -1, true, true, null, null, null, null),
|
|
|
+ ftInt.rangeQuery(-2.5, -0.5, false, false, null, null, null, null));
|
|
|
|
|
|
MappedFieldType ftLong = new NumberFieldMapper.NumberFieldType(NumberType.LONG);
|
|
|
ftLong.setName("field");
|
|
|
ftLong.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ftLong.rangeQuery(-3, -3, true, true, null), ftLong.rangeQuery(-3.5, -2.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(-3, -3, true, true, null), ftLong.rangeQuery(-3.5, -2.5, false, false, null));
|
|
|
- assertEquals(ftLong.rangeQuery(0, 0, true, true, null), ftLong.rangeQuery(-0.5, 0.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(0, 0, true, true, null), ftLong.rangeQuery(-0.5, 0.5, false, false, null));
|
|
|
- assertEquals(ftLong.rangeQuery(1, 2, true, true, null), ftLong.rangeQuery(0.5, 2.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(1, 2, true, true, null), ftLong.rangeQuery(0.5, 2.5, false, false, null));
|
|
|
- assertEquals(ftLong.rangeQuery(0, 2, true, true, null), ftLong.rangeQuery(-0.5, 2.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(0, 2, true, true, null), ftLong.rangeQuery(-0.5, 2.5, false, false, null));
|
|
|
-
|
|
|
- assertEquals(ftLong.rangeQuery(-2, 0, true, true, null), ftLong.rangeQuery(-2.5, 0.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(-2, 0, true, true, null), ftLong.rangeQuery(-2.5, 0.5, false, false, null));
|
|
|
- assertEquals(ftLong.rangeQuery(-2, -1, true, true, null), ftLong.rangeQuery(-2.5, -0.5, true, true, null));
|
|
|
- assertEquals(ftLong.rangeQuery(-2, -1, true, true, null), ftLong.rangeQuery(-2.5, -0.5, false, false, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(-3, -3, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-3.5, -2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(-3, -3, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-3.5, -2.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(0, 0, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-0.5, 0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(0, 0, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-0.5, 0.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(1, 2, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(0.5, 2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(1, 2, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(0.5, 2.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(0, 2, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-0.5, 2.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(0, 2, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-0.5, 2.5, false, false, null, null, null, null));
|
|
|
+
|
|
|
+ assertEquals(ftLong.rangeQuery(-2, 0, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-2.5, 0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(-2, 0, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-2.5, 0.5, false, false, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(-2, -1, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-2.5, -0.5, true, true, null, null, null, null));
|
|
|
+ assertEquals(ftLong.rangeQuery(-2, -1, true, true, null, null, null, null),
|
|
|
+ ftLong.rangeQuery(-2.5, -0.5, false, false, null, null, null, null));
|
|
|
}
|
|
|
|
|
|
public void testByteRangeQueryWithDecimalParts() {
|
|
|
MappedFieldType ft = new NumberFieldMapper.NumberFieldType(NumberType.BYTE);
|
|
|
ft.setName("field");
|
|
|
ft.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, false, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, false, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, false, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, false, null, null, null, null));
|
|
|
}
|
|
|
|
|
|
public void testShortRangeQueryWithDecimalParts() {
|
|
|
MappedFieldType ft = new NumberFieldMapper.NumberFieldType(NumberType.SHORT);
|
|
|
ft.setName("field");
|
|
|
ft.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, false, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, false, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, false, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, false, null, null, null, null));
|
|
|
}
|
|
|
|
|
|
public void testIntegerRangeQueryWithDecimalParts() {
|
|
|
MappedFieldType ft = new NumberFieldMapper.NumberFieldType(NumberType.INTEGER);
|
|
|
ft.setName("field");
|
|
|
ft.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, false, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, false, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, false, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, false, null, null, null, null));
|
|
|
}
|
|
|
|
|
|
public void testLongRangeQueryWithDecimalParts() {
|
|
|
MappedFieldType ft = new NumberFieldMapper.NumberFieldType(NumberType.LONG);
|
|
|
ft.setName("field");
|
|
|
ft.setIndexOptions(IndexOptions.DOCS);
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(2, 10, true, true, null), ft.rangeQuery(1.1, 10, false, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, true, null));
|
|
|
- assertEquals(ft.rangeQuery(1, 10, true, true, null), ft.rangeQuery(1, 10.1, true, false, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(2, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1.1, 10, false, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, true, null, null, null, null));
|
|
|
+ assertEquals(ft.rangeQuery(1, 10, true, true, null, null, null, null),
|
|
|
+ ft.rangeQuery(1, 10.1, true, false, null, null, null, null));
|
|
|
}
|
|
|
|
|
|
public void testRangeQuery() {
|
|
@@ -218,11 +258,11 @@ public class NumberFieldTypeTests extends FieldTypeTestCase {
|
|
|
Query expected = new IndexOrDocValuesQuery(
|
|
|
LongPoint.newRangeQuery("field", 1, 3),
|
|
|
SortedNumericDocValuesField.newSlowRangeQuery("field", 1, 3));
|
|
|
- assertEquals(expected, ft.rangeQuery("1", "3", true, true, null));
|
|
|
+ assertEquals(expected, ft.rangeQuery("1", "3", true, true, null, null, null, null));
|
|
|
|
|
|
ft.setIndexOptions(IndexOptions.NONE);
|
|
|
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
|
|
|
- () -> ft.rangeQuery("1", "3", true, true, null));
|
|
|
+ () -> ft.rangeQuery("1", "3", true, true, null, null, null, null));
|
|
|
assertEquals("Cannot search on field [field] since it is not indexed.", e.getMessage());
|
|
|
}
|
|
|
|