You are looking at documentation for an older release.
Not what you want? See the
current release documentation.
GeoShape Queryedit
See 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.4.1</version>
</dependency>
<dependency>
<groupId>com.vividsolutions</groupId>
<artifactId>jts</artifactId>
<version>1.13</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>check for updates in Maven Central | |
check for updates in Maven Central |
// 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
QueryBuilder qb = geoShapeQuery(
"location",
new RectangleImpl(0,10,0,10,SpatialContext.GEO)
)
.relation(ShapeRelation.WITHIN); 
// Intersect shapes
QueryBuilder qb = geoShapeQuery(
"location",
new PointImpl(0, 0, SpatialContext.GEO)
)
.relation(ShapeRelation.INTERSECTS); 