“ElasticSearch GEO:地理坐标点(geo point)”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
小 (Eijux移动页面ElasticSearch GEO:地理坐标点至ElasticSearch GEO:地理坐标点(geo point),不留重定向)  | 
				无编辑摘要  | 
				||
| 第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 类型的数据主要有下面几种格式:
PUT /shop/_doc/1 { "location": { "lat": 41.12, "lon": -71.34 } }
- lat:纬度
 - lon:经度
 
PUT /shop/_doc/2 { "location": [ -71.34, 41.12 ] }
- [ 经度, 纬度]:以数组的形式存储经纬度
 
PUT /shop/_doc/3 { "location": "41.12,-71.34" }
- "纬度,经度":以字符串的形式存储经纬度