ElasticSearch GEO:地理坐标点(geo point)

来自Wikioe
Eijux讨论 | 贡献2021年5月21日 (五) 18:20的版本
跳到导航 跳到搜索


关于

在 ES 中地理坐标指的就是经度和纬度,ES 中存储经纬度坐标的数据类型为:geo_point

定义映射的数据类型

可以通过定义索引映射的时候,指定字段类型为 geo_point,表示存储的是一个经纬度坐标值。


示例:

PUT /shop
{
  "mappings": {
    "properties": {
      "location": { 
        "type": "geo_point" // location字段的类型为geo_point
      }
    }
  }
}

geo_point的存储格式

保存 geo_point 类型的数据主要有下面几种格式:

  1. PUT /shop/_doc/1
    {
      "location": { 
        "lat": 41.12,
        "lon": -71.34
      }
    }
    
    • lat:纬度
    • lon:经度
  2. PUT /shop/_doc/2
    {
      "location": [ -71.34, 41.12 ] 
    }
    
    • [ 经度, 纬度]:以数组的形式存储经纬度
  3. PUT /shop/_doc/3
    {
      "location": "41.12,-71.34" 
    }
    
    • "纬度,经度":以字符串的形式存储经纬度