IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
GeoShape Query
editGeoShape Query
editSee GeoShape Query
Note: the geo_shape
type uses Spatial4J
and JTS
, both of which are
optional dependencies. Consequently you must add Spatial4J
and JTS
to your classpath in order to use this type:
<dependency> <groupId>com.spatial4j</groupId> <artifactId>spatial4j</artifactId> <version>0.3</version> </dependency> <dependency> <groupId>com.vividsolutions</groupId> <artifactId>jts</artifactId> <version>1.12</version> <exclusions> <exclusion> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> </exclusion> </exclusions> </dependency>
// Import Spatial4J shapes import com.spatial4j.core.context.SpatialContext; import com.spatial4j.core.shape.Shape; import com.spatial4j.core.shape.impl.RectangleImpl; // Also import ShapeRelation import org.elasticsearch.common.geo.ShapeRelation;
// Shape within another QueryBuilders.geoShapeQuery("location", new RectangleImpl(0,10,0,10,SpatialContext.GEO)) .relation(ShapeRelation.WITHIN); // Intersect shapes QueryBuilders.geoShapeQuery("location", new PointImpl(0, 0, SpatialContext.GEO)) .relation(ShapeRelation.INTERSECTS); // Using pre-indexed shapes QueryBuilders.geoShapeQuery("location", "New Zealand", "countries") .relation(ShapeRelation.DISJOINT);