IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Geo Shape Filter
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Geo Shape Filter
editSee Geo Shape Filter
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
filter = FilterBuilders.geoShapeFilter("location",
new RectangleImpl(0,10,0,10,SpatialContext.GEO))
.relation(ShapeRelation.WITHIN);
// Intersect shapes
filter = FilterBuilders.geoShapeFilter("location",
new PointImpl(0, 0, SpatialContext.GEO))
.relation(ShapeRelation.INTERSECTS);
// Using pre-indexed shapes
filter = FilterBuilders.geoShapeFilter("location", "New Zealand", "countries")
.relation(ShapeRelation.DISJOINT);