Mapping a GeoPoint field
Elasticsearch natively supports the use of geolocation types—special types that allow you to localize your document in geographic coordinates (latitude and longitude) around the world.
There are two main types that are used in the geographic world: the point and the shape. In this recipe, we'll look at GeoPoint—the base element of geo location.
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 execute these commands, any HTTP client can be used such as curl (https://curl.haxx.se/), postman (https://www.getpostman.com/), or similar. I suggest using Kibana console, which provides code completion and better character escaping for Elasticsearch.
How to do it...
The type of the field must be set to geo_point
to define a GeoPoint.
We can extend the order example by adding a new field that stores the location of a customer. This will be the result as follows...