Working with geo-point data
Geo-points are single location points defined by a latitude-longitude pair on the surface of the earth. Using geo-points you can do the following things:
- Calculate the distance between two points
- Find the document that falls in a specified rectangular area
- Sort documents based on distance and score results based on it
- Create clusters of geo-points using aggregations
Mapping geo-point fields
Unlike all the data types in Elasticsearch, geo-point fields can't be determined dynamically. So, you have to define the mapping in advance before indexing data. The mapping for a geo-point field can be defined in the following format:
"location": { "type": "geo_point" }
A geo_point
mapping indexes a single field (the location in our example) in the lat-lon
format. You can optionally index .lat
and .lon
separately by setting the lat-lon
parameter to true
.
Indexing geo-point data
Elasticsearch supports the following three formats to index geo_point...