“ElasticSearch GEO:地理坐标点(geo point)”的版本间差异

来自Wikioe
跳到导航 跳到搜索
无编辑摘要
第2行: 第2行:


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


== 定义映射的数据类型 ==
可以通过定义索引映射的时候,指定字段类型为 geo_point,表示存储的是一个经纬度坐标值。
示例:
<syntaxhighlight lang="JSON" highlight="">
<syntaxhighlight lang="JSON" highlight="">
PUT /shop
{
  "mappings": {
    "properties": {
      "location": {
        "type": "geo_point" // location字段的类型为geo_point
      }
    }
  }
}
</syntaxhighlight>
== geo_point的存储格式 ==
保存 geo_point 类型的数据主要有下面几种格式:


# <syntaxhighlight lang="JSON" highlight="">
PUT /shop/_doc/1
{
  "location": {
    "lat": 41.12,
    "lon": -71.34
  }
}
</syntaxhighlight>
#* '''lat''':纬度
#* '''lon''':经度
# <syntaxhighlight lang="JSON" highlight="">
PUT /shop/_doc/2
{
  "location": [ -71.34, 41.12 ]
}
</syntaxhighlight>
#* '''[ 经度, 纬度]''':以数组的形式存储经纬度
# <syntaxhighlight lang="JSON" highlight="">
PUT /shop/_doc/3
{
  "location": "41.12,-71.34"
}
</syntaxhighlight>
</syntaxhighlight>
#* '''"纬度,经度"''':以字符串的形式存储经纬度

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" 
    }
    
    • "纬度,经度":以字符串的形式存储经纬度