在ES中地理坐标指的就是经度和纬度,ES中存储经纬度坐标的数据类型为:geo_point。
1.定义映射的数据类型
我们可以通过定义索引映射的时候,指定字段类型为geo_point,表示存储的是一个经纬度坐标值。
例子:
PUT /shop
{
"mappings": {
"properties": {
"location": {
"type": "geo_point" // location字段的类型为geo_point
}
}
}
}
2.geo_point的存储格式
保存geo_point类型的数据主要有下面几种格式
2.1. 格式1
PUT /shop/_doc/1
{
"location": {
"lat": 41.12,
"lon": -71.34
}
}
说明:
- lat - 代表纬度
- lon - 代表经度
2.2. 格式2
PUT /shop/_doc/2
{
"location": [ -71.34, 41.12 ]
}
说明:
- [ 经度, 纬度] - 以数组的形式存储经纬度
2.3. 格式3
PUT /shop/_doc/3
{
"location": "41.12,-71.34"
}
说明:
以字符串的形式存储经纬度,格式: "纬度,经度"