[[lat-lon]] === `lat_lon` deprecated[5.0.0, ????????] // https://github.com/elastic/elasticsearch/issues/19792 <> are usually performed by plugging the value of each <> field into a formula to determine whether it falls into the required area or not. Unlike most queries, the inverted index is not involved. Setting `lat_lon` to `true` causes the latitude and longitude values to be indexed as numeric fields (called `.lat` and `.lon`). These fields can be used by the <> and <> queries instead of performing in-memory calculations. So this mapping: [source,js] -------------------------------------------------- PUT my_index { "mappings": { "my_type": { "properties": { "location": { "type": "geo_point", "lat_lon": true <1> } } } } } -------------------------------------------------- // CONSOLE // TEST[warning:geo_point lat_lon parameter is deprecated and will be removed in the next major release] <1> Setting `lat_lon` to true indexes the geo-point in the `location.lat` and `location.lon` fields. With this document: [source,js] -------------------------------------------------- PUT my_index/my_type/1?refresh { "location": { "lat": 41.12, "lon": -71.34 } } -------------------------------------------------- // CONSOLE // TEST[continued] Allows this query: [source,js] -------------------------------------------------- GET my_index/_search { "query": { "geo_distance": { "location": { "lat": 41, "lon": -71 }, "distance": "50km", "optimize_bbox": "indexed" <1> } } } -------------------------------------------------- // CONSOLE // TEST[continued] // TEST[warning:Deprecated field [optimize_bbox] used, replaced by [no replacement: `optimize_bbox` is no longer supported due to recent improvements]] <1> The `indexed` option tells the geo-distance query to use the inverted index instead of the in-memory calculation. Whether the in-memory or indexed operation performs better depends both on your dataset and on the types of queries that you are running. NOTE: The `lat_lon` option only makes sense for single-value `geo_point` fields. It will not work with arrays of geo-points.