2015-06-24 17:27:19 -04:00
|
|
|
[[java-query-dsl-geo-distance-range-query]]
|
|
|
|
==== Geo Distance Range Query
|
|
|
|
|
|
|
|
See {ref}/query-dsl-geo-distance-range-query.html[Geo Distance Range Query]
|
|
|
|
|
|
|
|
[source,java]
|
|
|
|
--------------------------------------------------
|
2015-10-19 06:17:45 -04:00
|
|
|
QueryBuilder qb = geoDistanceRangeQuery("pin.location", <1>
|
|
|
|
new GeoPoint(40, -70)) <2>
|
2015-06-24 17:27:19 -04:00
|
|
|
.from("200km") <3>
|
|
|
|
.to("400km") <4>
|
|
|
|
.includeLower(true) <5>
|
|
|
|
.includeUpper(false) <6>
|
|
|
|
.optimizeBbox("memory") <7>
|
|
|
|
.geoDistance(GeoDistance.ARC); <8>
|
|
|
|
--------------------------------------------------
|
|
|
|
<1> field
|
|
|
|
<2> center point
|
|
|
|
<3> starting distance from center point
|
|
|
|
<4> ending distance from center point
|
|
|
|
<5> include lower value means that `from` is `gt` when `false` or `gte` when `true`
|
|
|
|
<6> include upper value means that `to` is `lt` when `false` or `lte` when `true`
|
|
|
|
<7> optimize bounding box: `memory`, `indexed` or `none`
|
|
|
|
<8> distance computation mode: `GeoDistance.SLOPPY_ARC` (default), `GeoDistance.ARC` (slightly more precise but
|
|
|
|
significantly slower) or `GeoDistance.PLANE` (faster, but inaccurate on long distances and close to the poles)
|
|
|
|
|