Skip to content

Commit b7e7baf

Browse files
Adriano Ferreirakimchy
authored andcommitted
Two tests for parsing "geo_distance" filter: default unit is km
1 parent 920e935 commit b7e7baf

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed

modules/elasticsearch/src/test/java/org/elasticsearch/index/query/xcontent/SimpleIndexQueryParserTests.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,6 +1246,31 @@ private XContentIndexQueryParser queryParser() throws IOException {
12461246
assertThat(filter.distance(), closeTo(12, 0.00001));
12471247
}
12481248

1249+
@Test public void testGeoDistanceFilter7() throws IOException {
1250+
IndexQueryParser queryParser = queryParser();
1251+
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance7.json");
1252+
Query parsedQuery = queryParser.parse(query).query();
1253+
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
1254+
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
1255+
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
1256+
assertThat(filter.fieldName(), equalTo("location"));
1257+
assertThat(filter.lat(), closeTo(40, 0.00001));
1258+
assertThat(filter.lon(), closeTo(-70, 0.00001));
1259+
assertThat(filter.distance(), closeTo(12, 0.00001));
1260+
}
1261+
1262+
@Test public void testGeoDistanceFilter8() throws IOException {
1263+
IndexQueryParser queryParser = queryParser();
1264+
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance8.json");
1265+
Query parsedQuery = queryParser.parse(query).query();
1266+
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
1267+
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
1268+
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
1269+
assertThat(filter.fieldName(), equalTo("location"));
1270+
assertThat(filter.lat(), closeTo(40, 0.00001));
1271+
assertThat(filter.lon(), closeTo(-70, 0.00001));
1272+
assertThat(filter.distance(), closeTo(12, 0.00001));
1273+
}
12491274
@Test public void testGeoBoundingBoxFilterNamed() throws IOException {
12501275
IndexQueryParser queryParser = queryParser();
12511276
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_boundingbox-named.json");
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"filtered" : {
3+
"query" : {
4+
"match_all" : {}
5+
},
6+
"filter" : {
7+
"geo_distance" : {
8+
"distance" : "19.312128",
9+
"person.location" : {
10+
"lat" : 40,
11+
"lon" : -70
12+
}
13+
}
14+
}
15+
}
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"filtered" : {
3+
"query" : {
4+
"match_all" : {}
5+
},
6+
"filter" : {
7+
"geo_distance" : {
8+
"distance" : 19.312128,
9+
"person.location" : {
10+
"lat" : 40,
11+
"lon" : -70
12+
}
13+
}
14+
}
15+
}
16+
}

0 commit comments

Comments
 (0)