- Java Transport Client (deprecated): other versions:
- Preface
- Maven Repository
- Deploying in JBoss EAP6 module
- Client
- Index API
- Get API
- Delete API
- Update API
- Bulk API
- Search API
- Count API
- Delete By Query API
- Facets
- Aggregations
- Percolate API
- Query DSL - Queries
- Match Query
- MultiMatch Query
- Boolean Query
- Boosting Query
- IDs Query
- Constant Score Query
- Disjunction Max Query
- Fuzzy Like This (Field) Query (flt and flt_field)
- FuzzyQuery
- Has Child / Has Parent
- MatchAll Query
- More Like This Query (mlt)
- Prefix Query
- QueryString Query
- Range Query
- Span Queries (first, near, not, or, term)
- Term Query
- Terms Query
- Top Children Query
- Wildcard Query
- Nested Query
- Indices Query
- GeoShape Query
- Query DSL - Filters
- And Filter
- Bool Filter
- Exists Filter
- Ids Filter
- Limit Filter
- Type Filter
- Geo Bounding Box Filter
- GeoDistance Filter
- Geo Distance Range Filter
- Geo Polygon Filter
- Geo Shape Filter
- Has Child / Has Parent Filters
- Match All Filter
- Missing Filter
- Not Filter
- Or Filter
- Prefix Filter
- Query Filter
- Range Filter
- Script Filter
- Term Filter
- Terms Filter
- Nested Filter
- Caching
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
editGeo 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);
Was this helpful?
Thank you for your feedback.