Mapping a GeoShape field
An extension to the concept of point is the shape. Elasticsearch provides a type that facilitates the management of arbitrary polygons in GeoShape.
Getting ready
You need an up-and-running Elasticsearch installation, as we described in the Downloading and installing Elasticsearch recipe in Chapter 1, Getting Started.
To be able to use advanced shape management, Elasticsearch requires two JAR libraries in its classpath
(usually the lib
directory), as follows:
- Spatial4J (v0.3)
- JTS (v1.13)
How to do it...
To map a geo_shape
type, a user must explicitly provide some parameters:
tree
: This is the name of thePrefixTree
implementation—geohash forGeohashPrefixTree
andquadtree
forQuadPrefixTree
(geohash
default).precision
: This is used instead oftree_levels
to provide a more human value to be used in the tree level. The precision number can be followed by the unit, that is, 10 m, 10 km, 10 miles, and so on.tree_levels
: This is the maximum number of layers to be used in the prefix...