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