How to do it...

To map a geo_shape type, a user must explicitly provide some parameters:

  • tree: This is the name of the PrefixTree implementation—geohash for GeohashPrefixTree and quadtree for QuadPrefixTree (geohash default).
  • precision: This is used instead of tree_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 tree.
  • distance_error_pct: This sets the maximum errors allowed in a prefix tree  (0,025% - max 0,5% default).

The customer_location mapping,  which we have seen in the previous recipe using geo_shape, will be as follows:

"customer_location": {
"type": "geo_shape",
"tree": "quadtree",
"precision": "1m"
},