@@ -107,7 +107,7 @@ private QueryBuilder processCriteriaEntry(OperationKey key, Object value, String
107
107
108
108
switch (key ) {
109
109
case WITHIN : {
110
- filter = QueryBuilders .geoDistanceRangeQuery (fieldName );
110
+ GeoDistanceQueryBuilder geoDistanceQueryBuilder = QueryBuilders .geoDistanceQuery (fieldName );
111
111
112
112
Assert .isTrue (value instanceof Object [], "Value of a geo distance filter should be an array of two values." );
113
113
Object [] valArray = (Object []) value ;
@@ -126,19 +126,20 @@ private QueryBuilder processCriteriaEntry(OperationKey key, Object value, String
126
126
127
127
if (valArray [0 ] instanceof GeoPoint ) {
128
128
GeoPoint loc = (GeoPoint ) valArray [0 ];
129
- (( GeoDistanceRangeQueryBuilder ) filter ) .lat (loc .getLat ()).lon (loc .getLon ()).geoDistance ( GeoDistance . fromString ( dist .toString ()));
129
+ geoDistanceQueryBuilder .lat (loc .getLat ()).lon (loc .getLon ()).distance ( dist .toString ()). geoDistance ( GeoDistance . PLANE );
130
130
} else if (valArray [0 ] instanceof Point ) {
131
131
GeoPoint loc = GeoPoint .fromPoint ((Point ) valArray [0 ]);
132
- (( GeoDistanceRangeQueryBuilder ) filter ) .lat (loc .getLat ()).lon (loc .getLon ()).geoDistance ( GeoDistance . fromString ( dist .toString ()));
132
+ geoDistanceQueryBuilder .lat (loc .getLat ()).lon (loc .getLon ()).distance ( dist .toString ()). geoDistance ( GeoDistance . PLANE );
133
133
} else {
134
134
String loc = (String ) valArray [0 ];
135
135
if (loc .contains ("," )) {
136
136
String c [] = loc .split ("," );
137
- (( GeoDistanceRangeQueryBuilder ) filter ) .lat (Double .parseDouble (c [0 ])).lon (Double .parseDouble (c [1 ])).geoDistance ( GeoDistance . fromString ( dist .toString ()));
137
+ geoDistanceQueryBuilder .lat (Double .parseDouble (c [0 ])).lon (Double .parseDouble (c [1 ])).distance ( dist .toString ()). geoDistance ( GeoDistance . PLANE );
138
138
} else {
139
- (( GeoDistanceRangeQueryBuilder ) filter ) .geohash (loc ).geoDistance ( GeoDistance . fromString ( dist .toString ()));
139
+ geoDistanceQueryBuilder .geohash (loc ).distance ( dist .toString ()). geoDistance ( GeoDistance . PLANE );
140
140
}
141
141
}
142
+ filter = geoDistanceQueryBuilder ;
142
143
143
144
break ;
144
145
}
0 commit comments